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

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

设置SpaceVim选项

原先,在老版本的 SpaceVim 中,默认的配置文件是 init.vim。在 init.vim 文件内,我们可以通过 let g:spacevim_* 这样的语句来设置SpaceVim选项。而在新版的 SpaceVim 中,我们采用了 toml 作为默认配置文件,如果不熟悉 toml 语法的,可以先阅读一下 toml 的基本语法,当然不读也没关系,
toml 已经是最简单的配置文件格式了。
所有的 SpaceVim 选项配置在一个字典里,key 为原先的选项名去除 g:spacevim_ 前缀:

g:spacevim_enable_guicolors -> enable_guicolors

这一选项的值可为 true 或者 false,于是,写入配置即为:

[options]enable_guicolors = false

一些其他选项,有的值是数字,有的是字符串,字符串的格式和 vim script 类似,可以用单引号,也可以用双引号,比如:

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

启用/禁用 模块

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

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

如果要禁用一个模块,需要增添一个选项 enable, 并赋值 false,默认这个是 true。比如,我需要禁用 shell 模块,
可以这么写, 禁用模块时,除了 enable 这选项,其他选项可写可不写,因为已经不会生效。当然如果为了快速启用/禁用模块,
可以保持其他选项不变。

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

添加自定义插件

自定义插件配置语法和模块有点类似,将需要配置的插件,配置进 custom_plugins 列表。比如,我需要添加 2 个插件,
可以参考以下语法:

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

大家可以看到,在添加自定义插件时,我们支持很多选项,这归功于dein, dein 支持多种选项。

自定义快捷键及插件配置

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

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

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

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

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

augroup MySpaceVimau!autocmd FileType markdown setlocal nowrap
augroup END

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

想要了解更多关于 SpaceVim 的相关信息,欢迎访问:

  • 中文官网: https://spacevim.org/cn/
  • 中文交流群: https://gitter.im/SpaceVim/cn/

如何配置 SpaceVim相关推荐

  1. CentOS7安装配置SpaceVim

    安装Git 安装SpaceVim前提是主机需要安装git $ sudo yum install git 安装SpaceVim $ curl -sLf https://spacevim.org/inst ...

  2. linux jedi-vim安装,SpaceVim安装与环境配置

    配置vim是一件很让人头疼的事,网速差的同学可能安装个YouCompleteMe都要几个小时. 本文要介绍一种vim的预配置方案--SpaceVim的安装过程(注意SpaceVim和space-vim ...

  3. vim 配置_「go」 配置vim用于go 开发

    golang官方推荐的IDE或者编辑器插件之一就是vim-go, 为了配置简单,这边直接借助了下spacevim 这里介绍的环境是ubuntu 18.04 LTS 安装和配置方法如下 安装spacev ...

  4. SpaceVim - 让你的vim变得更加高效和强大

    SpaceVim 中文手册 项 目 主 页: https://spacevim.org Github 地址 : https://github.com/SpaceVim/SpaceVim SpaceVi ...

  5. SpaceVim 中文教程

    项 目 主 页: spacevim.org Github 地址 : SpaceVim GitHub, 欢迎Star或fork. SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合 ...

  6. 利用SpaceVim打造完美Go IDE

    SpaceVim介绍 之前写c++代码时用了比较简易的vim-ide: https://github.com/jiangeZh/vim-ide, 上手后确实比使用source insight 快很多, ...

  7. SpaceVim——IDE般的vim

    ide般的vim–SpaceVim 「生命不息,折腾不止:代码就是生命,一起折腾.」 如何将vim折腾成ide?往下看 Vim安装 这些基本安装不多详细描述,按照流程就行了 • vim官网[1] • ...

  8. macOS中SpaceVim搭建java开发环境

    安装JDK11 过程略,可参考: https://blog.csdn.net/lxyoucan/article/details/111120215 macOS安装支持Python 3的neovim 为 ...

  9. SpaceVim简单入门

    一直想学习Vim并把它作为自己常用的编辑器,但是Vim基本操作学了之后,我发现还是很难把Vim用到日常的编辑之中.主要原因在于插件,比如说我想用来写Python,然后开始上网搜Vim关于Python的 ...

最新文章

  1. Dynamics AX 2009 升级PreSynchnoize时的无反应的解决
  2. 为什么说OLAP产品毁了BI?
  3. Linux的centos永久关闭防火墙的命令
  4. Kali环境下安装python3
  5. CentOS7 源码编译安装Python3 shell脚本
  6. redis java操作
  7. BCM94360CD+linux+驱动,BCM94360CD WINDOWS驱动(32+X64位)
  8. android 视频录制花屏,拍大师录制视频花屏怎么办 拍大师录像花屏解决方法
  9. 类案检索功能优化建议(一)——开发路径辨析
  10. java 基础:方法/函数
  11. python如何判断tcp异常断开_TCP socket如何判断连接断开
  12. 2020年轻人保健品消费报告
  13. mysql下出现Unknown column ‘id‘ in ‘on clause‘的解决方法
  14. arcgis怎么关联excel表_arcgis中如何跟excel连接?
  15. python操作ymal文件之PyYAML库的使用
  16. 数据分享|人口空间分布
  17. 全球工业网络安全收入预计2028年达到244.7亿美元
  18. Flutter学习第十四天:Flutter类似于淘宝的首页照片墙功能,让你的界面更加美观灵活?
  19. ParaView Visualizer 在ubuntu22.04环境下快速开发入门指南
  20. python api讲解_集合api讲解_Python C编程视频课程_Python视频-51CTO学院

热门文章

  1. rdp协议打开 windows_Windows下RDP协议的安全性
  2. crack之路系列一:工具简介
  3. 前端与后端之间的数据传递
  4. 如何衡量一个Android应用开发人员的能力?
  5. 小程序完全嵌套h5后分享功能的实现
  6. 羞羞都被录下来,特斯拉能用手机远程录像了
  7. 湛江市中心城区交通拥堵综合治理规划
  8. python数据分析、数据挖掘,数据源从哪儿找?
  9. BigDecimal.setScale用法总结
  10. SAP内部订单(IO)及SAP WBS财务功能主要差异对比分析及实施建议 IOWBS Comparison on Financial Functionalities