[![SpaceVim](https://spacevim.org/logo.png)](https://spacevim.org) [Wiki](https://github.com/SpaceVim/SpaceVim/wiki) \| [Documentation](https://spacevim.org/documentation/) \| [Twitter](https://twitter.com/SpaceVim) \| [Community](https://spacevim.org/community/) \| [Sponsors](https://spacevim.org/sponsors/) \| [Gitter **Chat**](https://gitter.im/SpaceVim/SpaceVim) \| [中文官网](https://spacevim.org/cn/) [![Build Status](https://travis-ci.org/SpaceVim/SpaceVim.svg?branch=master)](https://travis-ci.org/SpaceVim/SpaceVim) [![Build status](https://ci.appveyor.com/api/projects/status/eh3t5oph70abp665/branch/master?svg=true)](https://ci.appveyor.com/project/wsdjeg/spacevim/branch/master) [![codecov](https://codecov.io/gh/SpaceVim/SpaceVim/branch/master/graph/badge.svg)](https://codecov.io/gh/SpaceVim/SpaceVim/branch/master) ![Version](https://img.shields.io/badge/version-1.4.0--dev-8700FF.svg) [![GPLv3 License](https://img.shields.io/badge/license-GPLv3-blue.svg)](LICENSE) [![Doc](https://img.shields.io/badge/doc-%3Ah%20SpaceVim-orange.svg)](doc/SpaceVim.txt) ## About SpaceVim SpaceVim is a community-driven modular Vim distribution. It manages collections of plugins in layers, which help to collect related packages together to provide IDE-like features. SpaceVim is not just a vimrc but an ultimate Vim configuration, It contains many built-in features. ![welcome-page](https://user-images.githubusercontent.com/13142418/68079142-904e4280-fe1f-11e9-993e-b834ea3d39ea.png) The last release is v1.3.0, check out [following-HEAD](https://github.com/SpaceVim/SpaceVim/wiki/Following-HEAD) page for what happened since last release. ## Instructions **See the followings below for more information:** - [Quick Start Guide](https://spacevim.org/quick-start-guide/) - [Documentation](https://spacevim.org/documentation/) - [Available Layers](https://spacevim.org/layers/) If you have any questions about SpaceVim, please follow the [Getting Help Guide](https://github.com/SpaceVim/SpaceVim/wiki/Getting-help). - [New Features](#new-features) - [Project layout](#project-layout) - [Support SpaceVim](#support-spacevim) - [Credits & Thanks](#credits--thanks) ### New Features This is a list of latest features implemented in SpaceVim: **Use toml as default configuration** Here is an example for using toml as SpaceVim config: ```toml # This is basic configuration example for SpaceVim. # All SpaceVim options below [options] snippet. [options] # Set SpaceVim theme. By default colorscheme layer is not loaded. # If you want to use more colorschemes, please load the colorscheme # layer. colorscheme = "gruvbox" colorscheme_bg = "dark" # Disable guicolors in basic mode, many terminal do not support 24bit # true colors enable_guicolors = false # Disable statusline separator, if you want to use other value, please # install nerd fonts statusline_separator = "nil" statusline_inactive_separator = "bar" buffer_index_type = 4 windows_index_type = 3 enable_tabline_ft_icon = false enable_statusline_mode = false statusline_unicode_symbols = false # Enable Vim compatible mode, avoid changing origin Vim key bindings vimcompatible = true # Enable autocomplete layer [[layers]] name = 'autocomplete' auto-completion-return-key-behavior = "complete" auto-completion-tab-key-behavior = "cycle" [[layers]] name = 'shell' default_position = 'top' default_height = 30 ``` **Iedit mode** SpaceVim uses a powerful iedit mode to quick edit multiple occurrences of a symbol or selection. Two new modes:`iedit-Normal`/`iedit-Insert`. The default color for iedit is `red`/`green` which is based on the current colorscheme. ![iedit mode](https://user-images.githubusercontent.com/13142418/44941560-be2a9800-add2-11e8-8fa5-e6118ff9ddcb.gif) **Highlight cursor symbol** SpaceVim supports highlighting of the current symbol on demand and adds a transient state to easily navigate and rename this symbol. ![highlight cursor symbol](https://user-images.githubusercontent.com/13142418/36210381-e6dffde6-1163-11e8-9b35-0bf262e6f22b.gif) [**Fly Grep in Vim**](https://spacevim.org/grep-on-the-fly-in-spacevim/) With this feature, Vim will display the searching result as you type. Of course, it is running asynchronously. Before using this feature, you need to install a searching tool. FlyGrep works through search tools: `ag`, `rg`, `ack`, `pt` and `grep`, Choose one you like. ![searching project](https://user-images.githubusercontent.com/13142418/35278709-7856ed62-0010-11e8-8b1e-e6cc6374b0dc.gif) [**Mnemonic key bindings navigation**](https://spacevim.org/mnemonic-key-bindings-navigation/) You don't need to remember any key bindings, as the mapping guide will show up after the SPC is pressed. The mapping guide is also available for `g`, `z`, and `s`. ![mapping guide](https://user-images.githubusercontent.com/13142418/35568184-9a318082-058d-11e8-9d88-e0eafd1d498d.gif) [**Help description for key bindings**](https://spacevim.org/help-description-for-key-bindings/) Use SPC h d k to get the help description of a key binding, and `gd` to find definition of key bindings. ![describe key bindings](https://user-images.githubusercontent.com/13142418/35568829-e3c8e74c-058f-11e8-8fa8-c0e046d8add3.gif) [**Asynchronous plugin manager**](https://spacevim.org/Asynchronous-plugin-manager/) Create an UI for [dein.vim](https://github.com/Shougo/dein.vim/) - the best asynchronous vim plugin manager ![UI for dein](https://user-images.githubusercontent.com/13142418/34907332-903ae968-f842-11e7-8ac9-07fcc9940a53.gif) For more features, please read [SpaceVim's Blog](https://spacevim.org/blog/) ### Project layout ```txt ├─ .ci/ build automation ├─ .github/ issue/PR templates ├─ .SpaceVim.d/ project specific configuration ├─ autoload/SpaceVim.vim SpaceVim core file ├─ autoload/SpaceVim/api/ Public APIs ├─ autoload/SpaceVim/layers/ available layers ├─ autoload/SpaceVim/plugins/ buildin plugins ├─ autoload/SpaceVim/mapping/ mapping guide ├─ doc/ help(cn/en) ├─ docs/ website(cn/en) ├─ wiki/ wiki(cn/en) ├─ bin/ executable └─ test/ tests ``` ### Support SpaceVim The best way to support SpaceVim is to contribute to it either by reporting bugs. Helping the community on the [Gitter Chat](https://gitter.im/SpaceVim/SpaceVim) or sending pull requests. For more information please check our [development guidelines](https://spacevim.org/development/). If you want to show your support financially you can buy a drink for the maintainer by clicking following icon. Buy Me a Coffee at ko-fi.com | wechat | alipay | | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | | | | Bitcoin: 1DtuVeg81c2L9NEhDaVTAAbrCR3pN5xPFv ### Credits & Thanks This project exists to thank all the people who have [contributed](CONTRIBUTING.md): - [@Gabirel](https://github.com/Gabirel) and his [Hack-SpaceVim](https://github.com/Gabirel/Hack-SpaceVim) - [@everettjf](https://github.com/everettjf) and his [SpaceVimTutorial](https://everettjf.gitbooks.io/spacevimtutorial/content/) - [vimdoc](https://github.com/google/vimdoc) generate doc file for SpaceVim - [Rafael Bodill](https://github.com/rafi) and his vim-config - [Bailey Ling](https://github.com/bling) and his dotvim - Authors of all the plugins used in SpaceVim.