SpaceVim

A modular Vim/Neovim configuration


Home | About | Quick start guide | Documentation | Development | Community | Sponsors | 中文


Quick start guide

This is a quick start guide for SpaceVim. It will show you how to install, configure, and use SpaceVim. It also lists a series of resources for learning SpaceVim.

If you’ve never heard of SpaceVim, this is the best place to start. It will give you a good idea of what SpaceVim is like.

Installation

First of all, you need to install Vim or Neovim, preferably with +python3 support enabled.

Also, you need to have git and curl installed in your system, which are needed for downloading plugins and fonts.

If you are using a terminal emulator, you will need to set the font in the terminal configuration.

Linux and macOS

curl -sLf https://spacevim.org/install.sh | bash

After SpaceVim is installed, launch nvim or vim, all plugins will be downloaded automatically.

For more info about the install script, please check:

curl -sLf https://spacevim.org/install.sh | bash -s -- -h

By default the latest version of SpaceVim will be installed. If you want to switch to specific version, for example v1.8.0, run following command in your terminal.

cd ~/.SpaceVim
git checkout v1.8.0

If you got a vimproc error like this:

[vimproc] vimproc's DLL: "~/.SpaceVim/bundle/vimproc.vim/lib/vimproc_linux64.so" is not found.

Please read :help vimproc and make it, you may need to install make (from build-essential) and a C compiler (like gcc) to build the dll.

Windows

The easiest way is to download and run install.cmd or install SpaceVim manually. The script installs or updates SpaceVim (if it exists) for Vim and Neovim.

Run in docker

docker pull spacevim/spacevim
docker run -it --rm spacevim/spacevim nvim

You can also load local configurations:

docker run -it -v ~/.SpaceVim.d:/home/spacevim/.SpaceVim.d --rm spacevim/spacevim nvim

Configuration

The default configuration file of SpaceVim is ~/.SpaceVim.d/init.toml. This is an example for basic usage of SpaceVim. For more info, please check out documentation and available layers.

# This is a basic configuration example for SpaceVim

# All SpaceVim options are below [options] snippet
[options]
    # set spacevim theme. by default colorscheme layer is not loaded,
    # if you want to use more colorscheme, please load the colorscheme
    # layer, the value of this option is a string.
    colorscheme = "gruvbox"
    colorscheme_bg = "dark"
    # Disable guicolors in basic mode, many terminal do not support 24bit
    # true colors, the type of the value is boolean, true or false.
    enable_guicolors = true
    # Disable statusline separator, if you want to use other value, please
    # install nerd fonts
    statusline_separator = "nil"
    statusline_iseparator = "bar"
    buffer_index_type = 4
    # Display file type icon on the tabline, If you do not have nerd fonts
    # installed, please change the value to false
    enable_tabline_filetype_icon = true
    # Display current mode text on statusline, by default It is disabled,
    # only color will be changed when switch modes.
    enable_statusline_mode = false

# 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

# This is an example for adding custom plugins lilydjwg/colorizer
[[custom_plugins]]
    repo = "lilydjwg/colorizer"
    merged = false

If you want to use vim script to configure SpaceVim, please check out the bootstrap function section.

If there are errors in your init.toml, the setting will not be applied. See FAQ. There should be only one [options] section in init.toml.

Online tutorials

This is a list of online tutorials for using SpaceVim as a general IDE and programming language support:

A list of guides for programming language support:

Learning SpaceVim

User experiences

Here is a list of User experiences about using SpaceVim:

Powered by Jekyll