如何配置 SpaceVim

本文将系统地介绍如何配置 SpaceVim,配置 SpaceVim 主要包括如下几个内容:git

  • 设置 SpaceVim 选项
  • 启动/禁用模块
  • 添加自定义插件
  • 添加自定义按键映射以及插件配置

设置SpaceVim选项

原先,在老版本的 SpaceVim 中,默认的配置文件是 init.vim。在 init.vim 文件内,咱们能够经过 let g:spacevim_* 这样的语句来设置SpaceVim选项。而在新版的 SpaceVim 中,咱们采用了 toml 做为默认配置文件,若是不熟悉 toml 语法的,能够先阅读一下 toml 的基本语法,固然不读也不要紧,
toml 已是最简单的配置文件格式了。
全部的 SpaceVim 选项配置在一个字典里,key 为原先的选项名去除 g:spacevim_ 前缀:shell

g:spacevim_enable_guicolors -> enable_guicolors

这一选项的值可为 true 或者 false,因而,写入配置即为:bootstrap

[options]
    enable_guicolors = false

一些其余选项,有的值是数字,有的是字符串,字符串的格式和 vim script 相似,能够用单引号,也能够用双引号,好比:vim

[options]
    enable_guicolors = false
    snippet_engine = "neosnippet"
    statusline_separator = 'arrow'
    sidebar_width = 30

启用/禁用 模块

SpaceVim 内置了不少模块,每个模块由一些插件和相关配置组成,用于提供一些特定的功能,好比提供模糊搜索的模块,
提供版本控制的模块,以及提供语言开发支持的语言模块。
启用或者禁用模块,须要遵循必定的语法结构,而且配到 layers 列表内,好比我如今须要启用 shell 模块,设置模块选项
default_position 和 default_height, 这两个选项分别控制这 shell 窗口打开位置和高度:markdown

[[layers]]
    name = "shell"
    default_position = "top"
    default_height = 30

若是要禁用一个模块,须要增添一个选项 enable, 并赋值 false,默认这个是 true。好比,我须要禁用 shell 模块,
能够这么写, 禁用模块时,除了 enable 这选项,其余选项可写可不写,由于已经不会生效。固然若是为了快速启用/禁用模块,
能够保持其余选项不变。ide

[[layers]]
    name = "shell"
    enable = false

添加自定义插件

自定义插件配置语法和模块有点相似,将须要配置的插件,配置进 custom_plugins 列表。好比,我须要添加 2 个插件,
能够参考如下语法:ui

[[custom_plugins]]
    name = "lilydjwg/colorizer"
    merged = 0

[[custom_plugins]]
    name = "tpope/vim-scriptease"
    merged = 0
    on_cmd = "Scriptnames"

你们能够看到,在添加自定义插件时,咱们支持不少选项,这归功于dein, dein 支持多种选项。spa

自定义快捷键及插件配置

最后,咱们来讲下,若是添加自定义配置,和自定义快捷键。在使用 toml 配置 SpaceVim 时,咱们提供了两个选项,位于 [options] 下:
bootstrap_before 和 bootstrap_after, 这两个选项接受一个字符串最为值,该字符串值得是一个 vim 方法名。顾名思义,你能够经过这
两个选项定义两个 vim 方法,分别在载入配置时,和 vim 启动后被调用,在方法内,你能够加入一些 vim 脚本,好比快捷键,
好比插件的选项。
好比,在配置文件内加入以下内容:插件

[options]
    enable_guicolors = false
    snippet_engine = "neosnippet"
    statusline_separator = 'arrow'
    sidebar_width = 30
    bootstrap_before = "myspacevim#before"
    bootstrap_after = "myspacevim#after"

新建 ~/.SpaceVim.d/autoload/myspacevim.vim, 加入内容:版本控制

function! myspacevim#before() abort
    let g:neomake_enabled_c_makers = ['clang']
    nnoremap jk <esc>
endf
function! myspacevim#after() abort
endf

在上述这个方法内部,目前只定义了一个变量和快捷键,用户能够添加一些其余的 vim 脚本,好比定制一些 autocmd

augroup MySpaceVim
  au!
  autocmd FileType markdown setlocal nowrap
augroup END

也是应大多数人要求,更新的这篇文字,仓促之下,有不少内容可能还不完整,若是有什么疑问,欢迎留言。

想要了解更多关于 SpaceVim 的相关信息,欢迎访问:
相关文章
相关标签/搜索