vim很古老的一个linux编辑器,它和emasc并称为程序员界的两大神器,也经常被用来比较和相互吐槽。但是现在周边使用vim和emasc的越来越少,几乎找不到几个使用vim编程的。反而vindows的IDE变成了主流,几乎所有人都在使用,比如vscode,pycharm,atom等。
为了方便Vim的配置环境,我总结一份vim配置,并写了一套自动换配置脚本:
https://github.com/IceLeeGit/VimPlus.git
需求与解决方案:
为了方便快速搭建适合自己的vim编译环境,就需要解决由于网络问题而不能下载对应github库的问题,以及自动执行配置代码问题
vim代码环境需要功能选项:
- 方便编译代码,既增删改查;vi/vim原生支持,需要学习一些光标移动快捷键
- 需要支持好看的背景和对比度,方便查看代码
- 需要可以切换字符显示,为了防止审美疲劳,缓解眼睛压力
- 方便查找跳转
- 支持代码补全
- 支持C以及C++代码跳转功能
- 支持python代码跳转功能
- 支持快捷键提示功能
- 支持标签页面快速切换
- 支持状态栏
- 支持路径补全功能
- 支持批量编辑、批量删除、批量注释代码功能
- 支持代码片段补全功能
- 支持快速粘贴/复制功能
- 方便快速部署和自定义需求
vimplus解决方法:
- 为了解决不同的背景高亮,以及切换需求,VimPlus引入了flazz/vim-colorschemes库,并且从中挑选出了10中符合自己审美以及背景为深色系(减少长时间观看导致眼睛干涩疲劳的问题)的背景,并且边了一个一键切换背景色的功能,可以通过F12切换背景。并且分析了各个颜色之间的差异,减少切换次数,增加对眼睛的刺激,切换会有一种眼前一亮的感觉
- 为了方便查找跳转引入了Yggdroot/LeaderF.git库,并且嵌入了rgrep,可以随时随地的进入当前工程下面的所有文件的查找过滤(以.git、srv等做界限),并且支持对文件的名称的搜索和对文件内容的搜索,还有历史记录等功能,日常这些功能就够用了,Yggdroot/LeaderF.git还有各种高端操作
- 为了支持C/C++的代码补全使用,cscope和ctags;这两个库比较老,使用起来一般,但是对于C/C++的跳转一直没有比较好用的工具。并且实现了一键产生并更新ctags和cscope tags的脚本,脚本中过滤了大量的无效脚本,比如test、git和非代码类型的脚本等
- 为了支持快捷键提示功能,引入了liuchengxu/vim-which-key,增加快捷键记录,防止忘记快捷键
- 使用vim-airline/vim-airline实现了好看实用的状态栏以及标签页面的快速替换,以及清除问题
- 使用tiagofumo/vim-nerdtree-syntax-highlight可以实现当前文件的list tree,方便查找想要的文件
- 完成自定义小模块时间和Windows一样快捷键的粘贴复制功能
- 使用honza/vim-snippets实现代码片段补全,比如文件头代码
- 为了解决网络影响github下载缓慢问题,引入了gitee,可以实现一些比较大的github库导致安装失败问题,也可是使用GitHub代理网站,需要替换plug中下载github代码的api路径
vim使用简图: