/SpaceVim

A community-driven modular vim distribution - The ultimate vim configuration

Primary LanguageVim ScriptGNU General Public License v3.0GPL-3.0

SpaceVim

Wiki | Quick start guide | Documentation | Community | Sponsors | Twitter | Gitter Chat | 中文官网

Build Status Build status Docker Build Status codecov Version GPLv3 License Doc

welcome page

Table of context

Instructions

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.

The last release is v1.5.0, check out following-HEAD page for what happened since last release.

See the followings below for more information:

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:

# 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

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

Fly Grep in Vim

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

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.

float_guide

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

Asynchronous plugin manager

Create an UI for dein.vim - the best asynchronous vim plugin manager

UI for dein

For more features, please read SpaceVim's Blog

Getting help

If you run into some problems installing, configuring, or using SpaceVim, checkout the Getting help guidelines in the wiki.

Contributing

This project exists thanks to all the people who contributed, We are thankful for any contributions from the community.

Project layout

├─ .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
├─ bundle/                        forked repos
└─ 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 or sending pull requests.

For more information please check our development guidelines.

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

License

The license is GPLv3 for all the parts of SpaceVim. This includes:

  • The initialization and core files.
  • All the layer files.
  • The documentation

Credits & Thanks