首先,给很多朋友说一声抱歉,因为一些原因,将老的知乎账号注销的,对于以往的文章、回答将无法再更新维护。因此,重新写了这篇文章,主要目的是再次介绍下 SpaceVim 这一项目的基本设计思路、使用技巧以及后续的计划。文章题图来自于Angad Sharma发布在Google DSC VIT 的 《Editor Almighty》。
简介
SpaceVim 是一个模块化的 Vim 集成配置环境,以模块的方式组织插件,这样的好处是可以将一些功能相近的插件进行组合,以便于快速启用某些功能。同时为不同的语言开发量身定制了相关的开发模块,这些模块通常包括自动补全, 语法检查、格式化、调试、REPL 等相关功能。用户仅需载入相关语言的模块即可得到一个开箱即用的 Vim IDE。
基本安装
按照官网《入门指南》中所说,Linux 或者 Windows 系统下只需要执行相关命令即可一键安装,这里说明下安装脚本的逻辑,以便于用户可以自行手动安装。以 Vim 为例,默认会载入用户目录下的 ~/.vimrc
这一文件,当这一文件不存在时,会去尝试载入~/.vim/vimrc
, 而 SpaceVim 安装脚本的原理就是将Github仓库克隆至 ~/.SpaceVim
同时创建一个软连接 ~/.vim
连接至 ~/.SpaceVim
。当然在操作过程中会备份原来的 ~/.vim
文件夹和~/.vimrc
文件。
基本配置
SpaceVim 默认使用的 toml 语法进行配置,最早期也使用过 Vim 脚本作为配置文件,但是存在以下这样的问题,当配置文件中出现错误时,容易让 SpaceVim 崩溃,并且很难排查错误到底在哪里。而使用 toml 作为配置文件,让配置流程变得更加稳健。SpaceVim启动时会读取toml文件,解析,如果其中格式错误,那么将沿用默认值,并且记录错误日志,以便于后期排查。
当然,这并不意味着在新版本中无法使用Vim脚本进行配置。SpaceVim引入了一个启动函数的概念,这个有点类似于启动回调函数,分别有两个,这两个函数会在Vim启动前后分别被执行。
关于如何配置SpaceVim,可以参考这篇文章:
如何配置 SpaceVimwsdjeg.spacevim.org学习资源
网上关于SpaceVim的资料也有不少,但是有些内容是依据老版本来写的,可能已经不是最新的了,在这里,我整理了下最新的一些内容:
一、官网资源
很早以前,有用户跟我抱怨,没有中文的文档,当时我也很理解,所以呢就狠下心把整个网站做了一个中文镜像,基本上可以保证和英文的内容一致,当然还有一些细微差异,后面会慢慢完善。
官网的资源主要包括:
- 入门指南: 包括最基本的安装以及配置教程,同时包括了针对不同语言的配置技巧
- 使用文档: 完整的用户使用文档,详细介绍了每一个快捷键以及配置的功能
- 可用模块: 罗列了目前已经支持的所有模块,包括功能模块和不同的语言模块
- 开发文档:如何参与 SpaceVim 开发
二、社区资源
目前,主要的交流群包括 gitter 同步群,微信群因为无法分享链接,可以加我个人微信(27983419)。网上也有一些朋友分享了 SpaceVim 的使用技巧和心得,比如:
- Hack-SpaceVim:Tell you how to hack SpaceVim
- SpaceVim 入门教程:everettjf 所著
后续的计划
- 完善一些细节:之前在同步群也讨论过,目前,各个语言的支持功能有些诧异,当然,这取决于语言相关插件的功能实现。但是对于一些基础的功能,后续需要做一个统一。
- 完善文档:不管是在线的网站、还是本地的 help 文件,都有一些内容需要完善。