如何配置 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 的相關信息,歡迎訪問:

相關文章
相關標籤/搜索