vim折腾小结
版本说明
版本 | 作者 | 日期 | 备注 |
0.1 | ZY | 2019.3.4 | 初稿 |
0.2 | ZY | 2019.3.11 | 添加neocomplete安装及配置;修改部分笔误 |
0.3 | ZY | 2019.6.6 | 修改colors目录创建位置的错误 |
目录
文章目录
- 4、代码分析
- 5、代码开发
一、初衷
折腾了一圈,从vim到VS到Qt Creator到SourceInsight到Eclipse,最终可以说还是各有所长吧,在开发一些运行在Linux设备上的使用c/c++开发的模块时使用vim加上cmake这种畅快和专注感还是让人无法自拔,所以我又折腾了一番vim。
这里的内容包括了之前关于vim的整理的相关博客的一部分内容,这里将其整合,后续更新将基于此。
二、效果展示
折腾后在Xshell5上连接服务器使用效果如下:
三、安装vim
参考:
https://www.linuxidc.com/Linux/2017-09/147108.htm
https://github.com/yangyangwithgnu/use_vim_as_ide
本次安装基于Ubuntu16.04 64位,支持Python3。
1、安装vim依赖
无论你是源码安装还是sudo apt-get安装,建议安装以下依赖:
2、安装vim
1)源码安装
源码安装建议卸载已有版本:
源码安装方式,建议从Git下载,之后根据依赖安装:
之后根据你需要的Python配置进行安装:
之后编译安装即可:
查看结果:
查看python3支持:
结果为1则支持Python3,否则不支持,Python及其它模块同理。
2)apt-get安装
在Ubuntu上可以使用如下命令安装:
四、配置vim
对于Git,这里我不想多说了,这个基本上是现在程序的标配只一了,至少需要了解基本的使用,Ubuntu下简单安装方法:
1、首先我们需要一个插件管理的插件
目前基本上都是使用vundle了,我目前也从pathogen改为使用vundle了。
https://github.com/VundleVim/Vundle.vim
1)vundle安装
如果没有.vim和bundle目录则创建,之后:
如上vundle就安装好了。
2)vundle简单配置
如果~目录下没有.vimrc文件则创建,之后打开.virmc进行vundle配置:
vim ~/.vimrc
在call vundle#begin()和call vundle#end()之间利用Bundle、Plugin等方法将需要的插件加入进去,之后打开vim,输入PluginInstall(记得活用tab键):
那么vundle就会根据你输入的地址去GitHub上找插件进行安装下载,安装完成后会显示Done:
其实vundle远不止这点作用,更多的用法你可以去GitHub上看,这里就不多说了。
3)利用vundle卸载插件
只需要在.vimrc中先删除对应的插件Plugin xxx,然后打开vim,输入PluginClean即可自动删除对应的插件。
4)利用vundle更新插件
只需要打开vim,然后输入PluginUpdate即可。
2、vim快捷键定义
vim快捷键定义基本上是通过vim的来实现的,默认为“\”,这个你可以根据你自己的喜好来定义,比如我这里使用的是“;”。
这里简单展示一些我常用的快捷键设置:
3、界面美化
vim默认不是很好看,而且黑色的看的时间长了眼睛也不舒服,我们将其美化一下。
1)主体风格
主体风格需要在bundle的同级目录下(即.vim目录下)创建一个colors目录(目录错误会提示找不到对应的主题风格文件),然后将主体相关的插件的.vim放到该目录下,常见的主体风格有:素雅 solarized、多彩 molokai、复古 phd等,这些你可以自动搜索。
我这里介绍一个可以定制主体风格的网址:http://bytefluent.com/vivify/
你可以自己通过设置RGB等定制你喜欢的风格,调整完后点那个下载按钮就会下载到一个.vim文件,然后将这个.vim复制到我前面说的colors文件夹下,然后在.vimrc中进行配置:
上面的corporation_modified就是我下载的.vim的名字,这里名字似乎不能改,下载的是什么名字就是什么。
我这里根据护眼色的RGB和色号(R:199 G:237 B:204 #:C7EDCC )调整了一下,然后又将亮度稍微调低了一些,调整后如下:
2)营造专注气氛
如下是我的一些设置,这个主要是用在Windows下:
3)添加辅助信息
4)其它美化
比如美化下状态栏,显示电脑电量等,自己定制。这里推荐一个美化状态栏的插件:
vim-powerline,安装就通过在vundle中增加Plugin 'Lokaltog/vim-powerline’的方式安装即可。
https://github.com/Lokaltog/vim-powerline
4、代码分析
1)语法高亮
就和notepad++等编辑器一样,支持将不同的代码根据其规则高亮:
2)代码缩进
然后介绍一个插件,可视化的将相同缩进的代码关联起来(我使用体验一般,但是可以一试):
Indent Guides(https://github.com/nathanaelkane/vim-indent-guides)
vundle的安装方法,加入:
Plugin ‘nathanaelkane/vim-indent-guides’
然后配置如下:
这个是GitHub上的介绍图:
3)代码折叠
vim自身支持多种折叠:手动建立折叠(manual)、基于缩进进行折叠(indent)、基于语法进行折叠(syntax)、未更改文本构成折叠(diff)等等,其中,indent、syntax比较适合编程,按需选用。增加如下配置信息:
操作:za,打开或关闭当前折叠;zM,关闭所有折叠;zR,打开所有折叠。
4)接口和实现快速切换
假如在接口文件中,vim自动帮我找到对应的实现文件,当键入快捷键,可以在当前窗口中打开对应实现文件,也可以在当前窗口中分裂一个子窗口显示对应实现文件。
a.vim(https://github.com/vim-scripts/a.vim)来了。
增加:Plugin 'vim-scripts/a.vim’进行安装。
安装后增加配置信息:
这样,键入;ch就能在实现文件和接口文件间切换,键入;sch子窗口中将显示实现文件/接口文件。
a.vim实现原理很简单,基于文件名进行关联,比如,a.vim能识别my_class.h与my_class.cpp,而无法识别my_class.h与your_class.cpp。所以,你在命名文件时得注意下。
5)显示类、结构体、函数、变量等的标签
先安装ctags:
我这里使用tagbar插件进行这些信息的处理,https://github.com/majutsushi/tagbar
安装方法:Plugin ‘majutsushi/tagbar’
之后配置:
github给出的效果图:
6)工程文件树浏览
目前基本上都是使用NERDTree:https://github.com/scrooloose/nerdtree
安装方法:Plugin ‘scrooloose/nerdtree’
之后配置如下:
以下是官方给出的效果图:
5、代码开发
1)快速开关注释
NERD Commenter(https://github.com/scrooloose/nerdcommenter)
NERD Commenter根据编辑文档的扩展名自适应采用何种注释风格,如,文档名x.cpp则采用//注释风格,而x.c则是//注释风格;另外,如果选中的代码并非整行,那么该插件将用//只注释选中部分。
安装方法:Plugin ‘scrooloose/nerdcommenter’
常用操作:(注释时先按数字确认从现在的位置注释到哪个位置,然后按分号,最后按快捷键,例如:19;cc就是从当前位置注释19行,取消注释同理。)
cc,注释当前选中文本,如果选中的是整行则在每行首添加//,如果选中一行的部分内容则在选中部分前后添加分别/、/;
cu,取消选中文本块的注释。
2)模板补全
这里使用插件:UltiSnips(https://github.com/SirVer/ultisnips )
在进行模板补全时,你是先键入模板名(如,if),接着键入补全快捷键(默认),然后UltiSnips根据你键入的模板名在代码模板文件中搜索匹配的“模板名-模板”,找到对应模板后,将模板在光标当前位置展开。
默认情况下,UltiSnips模板补全快捷键是tab,与后面介绍的supertab快捷键有冲突,所有须在.vimrc中重新设定。
此外,这里的UltiSnips只是一个引擎,还需要下载代码片段的插件:Plugin ‘honza/vim-snippets’,所以需要安装这两个:
Plugin ‘SirVer/ultisnips’
Plugin ‘honza/vim-snippets’
之后修改配置:
以下是官网给的效果:
3)快速输入结对符
使用插件auto-pairs(https://github.com/jiangmiao/auto-pairs)
安装方法:Plugin ‘jiangmiao/auto-pairs’
4)智能补全
目前用的多的是YouComplete和neocomplete,目前我先使用的是supertab结合neocomplete。
supertab:https://github.com/ervandew/supertab
安装方法:Plugin ‘ervandew/supertab’
neocomplete:https://github.com/Shougo/neocomplete.vim
安装方法:Plugin ‘Shougo/neocomplete’
配置如下:
5)静态代码查错
目前我使用: https://github.com/vim-syntastic/syntastic.git
安装方法:Plugin ‘vim-syntastic/syntastic’
6、未完待续。。。
vim配置文件上传至GitHub,将同步更新:
https://github.com/yaoyecaizi/vimrc.git
此外,欢迎浏览我在GitHub上的小站:xiaoyaoyou.xyz