接触vim也已经有一年多了,期间也用过一段时间的SourceInsight,SourceInsight是Windows下一款不错的查看代码的软件。利用它可以迅速的了解一个大型程序的结构。后来在Linux下进行了一段时间的程序开发,就回到vim上了,经过一段时间的接触,发现vim越来越好用,后来在Windows上也就基本上全用gvim了。
在这篇文章里我主要介绍一些我自己认为比较有用的一些快捷键和插件的配置,不介绍vim的基本操作。还有希望在看这篇日志之前最好先看吴垠大牛的手把手教你把Vim改装成一个IDE编程环境的文章,里面介绍的很是详细,我在这里只是补充一些。
首先介绍gvim的一些常用的目录比如
Linux下:
/etc/vim :gvim的配置文件gvimrc就在这个目录
/usr/share/vim: 默认安装,gvim的安装目录。改目录下面的一些重要的目录:
/usr/share/vim/plugin: 插件所放的目录
/usr/share/vim/doc :帮助文件所放的目录
/usr/share/vim/syntax :一些与语法相关的配置文件的目录。例如设置不同语言的高亮方式
/usr/share/vim/colors :主题所放的目录
在Windows下gvim的安装目录也可以找到相应的文件和文件夹。Windows下的配置文件是安装目录下的_vimrc文件。
一、语法高亮
首先在vim的配置文件里增加以下两句话
配色方案的可以进行如下设置
我是比较喜欢desert 这个配色方案的,具体里面的颜色也可以自己修改。到colors文件夹下找到相应的配色方案的配置文件,然后。。。
hi Comment guifg=Green
这是修改注释的颜色,还有相应其他的。你如果看那个颜色不爽,你就自己把它改成顺眼的颜色就行。
如果要函数和运算符高亮,可以看吴垠大牛的博客。不过需要注意的是我在将相应的配置加入到c.vim中后,发现//注释居然不能颜色高亮了。猜想可能是将//当成两个除号给高亮了,于是将这一段配置文件移到c.vim的文件首,注释也可以高亮了。
自己定义的关键字若是想高亮,则在配置文件里面加入如下语句即可。
syn keyword cType My_Type_1 My_Type_2 My_Type_3
二、在程序中跳转Ctags 的使用
在使用VS的vc助手之后,感觉程序的跳转非常的好用。在gvim中是否也有类似的功能呢?答案是肯定的。首先到这个http://ctags.sourceforge.net 去下载一个类似ctags-5.6.tar.gz的文件,然后在Linux下解压、安装。在Windows应该是有可执行文件的。在Windows下为了方便使用。安装完成之后,到你的工程的目录下运行ctags -R。然后可以发现生成了一个tags文件。这个文件主要记录文件中一些函数的位置关系,方便跳转。生成tags文件之后,在程序中的某一函数的使用出按“Ctrl ]”或“Ctrl + 左键单击”就可以跳转到函数的定义处。
在Windows下,可以将可执行文件(ctags.exe)拷贝到system32目录下。这样可以在配置文件添加一个映射快捷键,如下。这样修改完程序之后,生成tags文件就比较方便了。
如果你使用了其他的程序,如opencv等。想要跳转到Opencv,应该怎么办呢?很简单,只需要在Opencv的目录下利用ctags生成一个tags文件,然后在配置文件里面添加一条如下的语句。
三、快速注释 NERD_commenter
在VS中可以选中一段程序进行批量注释,这个功能在gvim里面也是有的,而且还更加好用。
下载地址:http://www.vim.org/scripts/script.php?script_id=1218
将下载下来的NERD_commenter.vim拷贝到plugin目录下,txt文件拷贝到doc目录下。然后在配置文件中添加如下语句,将注释和取消注释分别映射到和,当然你也可以改为其他的键。
四、C++的编译和运行,折叠自动保存
对于只有一个源文件的程序利用下面的程序可以方便的编译和运行程序。
当有多个文件时,其实只要你编写好makefile文件,将上面的第二条执行的命令改成make即可。
gvim还有vs类似的代码折叠功能,选中一块代码,然后输入zf即可折叠这一段代码。效果如下图。
再在配置文件中添加如下的语句,就可以利用空格键来折叠和取消折叠代码了。
但是这样在关闭gvim下次在打开的时候,这些折叠信息就没有了。想要保存这些折叠信息,还需要在配置文件里面添加如下的语句。
五、自动添加注释DoxygenToolkit
在对程序写注释的时候,特别是对函数写注释的时候。其实很多的事情是重复的。如在注释里面写函数名,参数名等。要是能够自动生成的话该有多方便啊。这对于gvim来说也不是难事。只需要安装DoxygenToolkit插件。
下载地址:http://www.vim.org/scripts/script.php?script_id=987
将下载下来的DoxygenToolkit1.vim拷贝到plugin文件夹下。在配置文件中添加如下的语句即可。
这样配置之后,在函数名的一行按fg键即可自动生成如下的注释。
在光标移动到源文件的开始出,然后在命令行下输入 :DoxAuthor
六、自动补全 omnicppcomplete
vs下的自动补全功能可以帮助我们减少敲击键盘的次数,在gvim下也有类似的插件,不过好像是没有VS的好用,不过功能还是可以接受的。
下载地址:http://www.vim.org/scripts/script.php?script_id=1520
下载下来后将文件拷贝到对应的文件夹,然后在配置文件中添加如下的配置
然后在写代码需要自动补全的时候,按下tab键就可以了。效果如下:
七、自动对齐 Tabular
下载地址:https://github.com/godlygeek/tabular
在我们编写程序的时候,很多时候会遇到如下的等号对齐等问题。
这样的程序看上去十分的不美观。如果能够把等号对齐的话看上去效果就好很多。可是要自己一个一个的去对齐又实在是太费时间了。gvim的Tabular插件可以很方便的实现这个功能。将下载下来的文件和文件夹拷贝到相应的目录下,然后将光标移动到这几个等号的第一行。然后在命令行下输入:
Tab /=
即可将等号对齐。
当然对齐的也可以不止是等号,还可以是其他的符号或字母。
八。 在工程中快速查找
grep.vim 地址http://www.vim.org/scripts/download_script.php?src_id=7645
解压后把grep.vim文件拷贝到d:\Program Files\Vim\vim73\plugin,在_vimrc中添加:
nnoremap <silent> <F3> :Grep<CR>
因为windows下是不带grep的,需要下载Grep for Windows http://gnuwin32.sourceforge.net/packages/grep.htm
下载后在环境变量中增加grep的路径;
用gvim打开一个源代码文件,光标选择需要查找的内容,按F3,确定要查找的内容和搜索范围,gvim会在弹出的QuickFix窗口中列出所有符合条件的搜索结果
九 文件浏览组件 WinManager
winmanager.zip 地址http://www.vim.org/scripts/download_script.php?src_id=754
将winmanager.zip解压和拷贝,解压后包含一个doc文件夹和一个plugin文件夹,将其中内容分别复制到d:\Program Files\Vim\vim73下的doc及plugin中
在_vimrc文件中加入以下内容:
let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle<cr>
用gvim打开代码文件,normal状态下输入命令"wm",窗口如下:
左上角是浏览文件的窗口,左下角的是TagList窗口;
还有很多好用的插件,像TagList,WinManager等,吴垠大牛在他的博客里面已经介绍得非常的详细了。我这里就不再介绍了。以后遇到好用的插件我还会跟大家分享。今天就先到这里了,洗洗睡了~ 最后一部分的图显示有时候会出问题,我也不知道怎么回事,请大家见谅~~