本文將系統地介紹如何配置 SpaceVim,配置 SpaceVim 主要包括如下幾個內容:git
原先,在老版本的 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 的相關信息,歡迎訪問: