SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,其中包含了多种功能模块,并且针对 neovim 做了功能优化。SpaceVim 有多种功能模块可供选择,用户只需要选择所需的模块,就可以配置出一个适合自己的开发环境。
-- wsdjeg

本文导航
SpaceVim[1] 是一个社区驱动的模块化 vim/neovim 配置集合,其中包含了多种功能模块,并且针对 neovim 做了功能优化。SpaceVim[2] 有多种功能模块可供选择,用户只需要选择所需的模块,就可以配置出一个适合自己的开发环境。
使用过程中遇到问题或者有什么功能需求可以在 github 提交 issue,这将更容易被关注和修复。我们也欢迎喜欢 vim/neovim 的用户加入我们的 QQ 群,一起讨论 vim 相关的技巧,点击加入Vim/SpaceVim用户群[5]
SpaceVim[6] 的开发很活跃,以下是近几周的开发汇总:
安装
Linux 或 Mac
Linux 或 Mac 下 SpaceVim 的安装非常简单,只需要执行以下命令即可:
  1. curl -sLf https://spacevim.org/install.sh | bash
想要获取更多的自定义的安装方式,请参考:
  1. curl -sLf https://spacevim.org/install.sh | bash -s -- -h
SpaceVim是一种模块化配置,可以运行在vim或者neovim上,关于vim以及neovim的安装,请参考以下链接:
Windows
Windows 下 vim 用户只需要将本仓库克隆成用户 HOME 目录下的 vimfiles 即可,打开 CMD 默认的目录默认即为 HOME 目录,只需要执行如下命令即可:
  1. gitclone https://github.com/SpaceVim/SpaceVim.git vimfiles
Windows 下 neovim 用户需要将本仓库克隆成用户 HOME 目录下的 AppData\Local\nvim,想要获取跟多关于 neovim 安装相关的知识,可以访问 neovim 的 wiki, wiki 写的非常详细。打开 CMD 初始目录默认一般即为 HOME 目录,只需要执行如下命令即可:
  1. gitclone https://github.com/SpaceVim/SpaceVim.git AppData\Local\nvim
字体
SpaceVim 默认启用了 Powerline 字体,默认的字体文件是:DejaVu Sans Mono[9], Windows 用户直接下载下来右键安装即可。
vimproc.dll
Windows 下用户如果不方便编译,可以在 qq 群文件里面下载相应的 dll 文件放到 vimproc 的 lib 目录,默认是 ~/.cache/vimfiles/repos/github.com/Shougo/vimproc.vim/lib/
特性
优雅的界面
SpaceVim 的默认界包括 tagbar 、vimfiler 、以及 airline 界面,配色主题采用的 gruvbox。
Unite 为主的工作平台
Unite 的快捷键前缀是f, 可以通过 g:spacevim_unite_leader 来设定,快捷键无需记忆,SpaceVim 有很好的快捷键辅助机制,如下是 Unite 的快捷键键图:
自动补全
SpaceVim 采用最快补全引擎 deoplete, 该引擎不同与 YouCompleteMe 的主要一点是支持多源补全,而不单单是语义补全。 而且补全来源拓展非常方便。
用户配置
SpaceVim 将从 ~/.SpaceVim.d/init.vim 和当前目录的 ./SpaceVim.d/init.vim 载入配置,并且更新 rtp,用户可以在 ~/.SpaceVim.d/ 和 .SpaceVim.d/ 这两个文件夹下编辑自己的脚本,和 SpaceVim 的配置文件。
示例:
  1. " Here are some basic customizations,
  2. " please refer to the ~/.SpaceVim.d/init.vim
  3. " file for all possible options:
  4. let g:spacevim_default_indent = 3
  5. let g:spacevim_max_column     = 80
  6. "Change the default directory where all miscellaneous persistent files go.
  7. " By default it is ~/.cache/vimfiles.
  8. let g:spacevim_plugin_bundle_dir = '~/.cache/vimfiles'
  9. "setSpaceVim colorscheme
  10. let g:spacevim_colorscheme ='jellybeans'
  11. " Set plugin manager, you want to use, default is dein.vim
  12. let g:spacevim_plugin_manager = 'dein'  " neobundle or dein orvim-plug
  13. " use space as `<Leader>`
  14. let mapleader = "\<space>"
  15. "Set windows shortcut leader [Window],defaultis`s`
  16. let g:spacevim_windows_leader ='s'
  17. " Set unite work flow shortcut leader [Unite], default is `f`
  18. let g:spacevim_unite_leader = 'f'
  19. "Bydefault, language specific plugins are not loaded.This can be changed
  20. " with the following, then the plugins for go development will be loaded.
  21. call SpaceVim#layers#load('lang#go')
  22. " loaded ui layer
  23. call SpaceVim#layers#load('ui')
  24. " If there is a particular plugin you don't like, you can define this
  25. " variable to disable them entirely:
  26. let g:spacevim_disabled_plugins=[
  27.    \ ['junegunn/fzf.vim'],
  28.    \ ]
  29. " If you want to add some custom plugins, use these options:
  30. let g:spacevim_custom_plugins = [
  31.    \ ['plasticboy/vim-markdown', {'on_ft' : 'markdown'}],
  32.    \ ['wsdjeg/GitHub.vim'],
  33.    \ ]
  34. "set the guifont
  35. let g:spacevim_guifont ='DejaVu\ Sans\ Mono\ for\ Powerline\ 11'
SpaceVim 选项
< 如显示不全,请左右滑动 >
选项名称默认值描述
g:spacevim_default_indent2对齐空格
g:spacevim_enable_guicolors1启用/禁用终端使用真色彩
g:spacevim_windows_leaders窗口管理快捷键前缀
g:spacevim_unite_leaderfUnite快捷键前缀
g:spacevim_plugin_bundle_dir~/.cache/vimfiles默认插件缓存位置
g:spacevim_realtime_leader_guide0启用/禁用实时快捷键提示
g:spacevim_guifont''设置SpaceVim字体
g:spacevim_sidebar_width30设置边栏宽度,文件树以及语法树
g:spacevim_custom_plugins[]设置自定义插件
推荐文章
< 左右滑动查看相关文章 >
输入文章 ID 或长按二维码直达
继续阅读
阅读原文