其他分享
首页 > 其他分享> > spacevim和vim的区别? 要不要用spacevim? spacevim的层(layer)是什么? 如何能同时使用vim/neovim和spacevim?

spacevim和vim的区别? 要不要用spacevim? spacevim的层(layer)是什么? 如何能同时使用vim/neovim和spacevim?

作者:互联网

本文的目的并不是介绍spacevim的使用方法, 讲spacevim最清楚的地方是它的文档. 本文的目的在于:

spacevim是什么? 与vim有何不同?

spacevim与vim/neovim的关系不同于neovim和vim的关系. neovim是对vim的重新实现(可能是比refactor更彻底一些的refactor), 两者是独立的, 不过neovim一边支持lua, 一边兼容vimscript, 所以vim的几乎所有插件, neovim也可以用.

spacevim不是对vim/neovim的实现, 而是在vim/neovim之上整合了很多好用的插件. 要知道vim/neovim之所以那么好用, 有大量好用的插件是非常重要的原因.

spacevim有个重要概念叫layer, 其实是若干个提供相似互补功能的插件的整合, 并且以key mapping(就是快捷键)的形式对用户提供使用接口. 它对vim很多现有插件进行整合, 封装, 当然它自己也写了很多vimscript, 本质上是个超级插件, 所以vim本来的所有用法, 还是可以用. 也就是说, 用它而不是vim/neovim, 也不会有任何损失.

spacevim的层是什么意思?

为什么叫层? 学计算机的同学可能有这样的体会, 计算机无处不分层. 每一层隐藏细节, 向上一层提供简单的接口. spacevim的layer就是如此, 每个插件可能本来有很多可配置项, 有很多mapping, 但是spacevim整合之后, 做了比较好的设置, 用户就不再需要设置这些插件, 这就是隐藏细节. 插件本来可以设置key mapping, spacevim设置好了比较容易记的mapping. 这样用户不需要自己设置, 记住spacevim的设置就行了(其实不需要记住, 因为spacevim有提示).

用spacevim到底有什么好处?

如果有读者问: 那我为什么不继续用vscode? 它比vscode有什么好处呢? 我不会javascript, 用vscode不能改插件, 而且vscode占的空间大(尤其是插件), 所以我没用vscode. vim相比vscode有这些优势:

无图无真相,只是修改了一下background(默认dark, 改成了light).

有文件浏览器, 有终端:

再来张mapping提示的图:

如果装了spacevim, 发现原来的vim配置用不了了怎么办?

其实spacevim是对原配置文件重命名. ls -a | grep vimrc就会找到重命名后的文件名. ~/.vimrc是spacevim提供的配置文件, 是symlink, 直接删除即可. neovim也是同理, 删除spacevim提供的init.vim, 再恢复原本的文件名. 然后用nvim -u ~/.SpaceVim/init.vim即可启动spacevim. 我是写了简单的bash函数.

svim () 
{ 
    nvim -u ~/.SpaceVim/init.vim
}

标签:neovim,插件,vscode,spacevim,vim,tab
来源: https://www.cnblogs.com/Tokubara/p/15180136.html