gvim常用的配置及插件 -windows

接触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文件


补全:===========================================================================================================================

1.c/h文件间相互切换 -- 插件: A

下载地址 http://www.vim.org/scripts/script.php?script_id=31
版本
安装 将a.vim 放到 ~/.vim/plugin 文件夹中
手册 无
下面介绍它的用法:
作为一个C程序员,日常Coding时在源文件与头文件间进行切换是再平常不过的事了,直接用vim打开其

源/头文件其实也不是什么麻烦事,但是只用一个按键就切换过来了,这是多么贴心的功能啊....
安装好a.vim后有下面的几个命令可以用了:
:A 在新Buffer中切换到c/h文件
:AS 横向分割窗口并打开c/h文件
:AV 纵向分割窗口并打开c/h文件
:AT 新建一个标签页并打开c/h文件

我在~/.vimrc中增加了一句:
nnoremap <silent> <F12> :A<CR>
意思是按F12时在一个新的buffer中打开c/h文件,这样在写程序的时候就可以不假思索地在c/h文件间进行切换
***************************************************************************************************************************************************************************************
2.教你高效地浏览源码 -- 插件: TagList
下载地址 http://www.vim.org/scripts/script.php?script_id=273
版本 4.4
安装 在 ~/.vim 目录下解压taglist_xx.zip
手册 :help taglist.txt
进入vim后用下面的命令打开taglist窗口,如图:
:Tlist


***************************************************************************************************************************************************************************************
3.文件浏览器和窗口管理器 -- 插件: WinManager
下载地址 http://www.vim.org/scripts/script.php?script_id=95
版本 2.x
安装 在 ~/.vim 目录下解压winmanager.zip
手册 :help winmanager
这个小编是怎么调出来的呢? 其实这个也是由插件实现的,这个插件是netrw.vim,只不过你不用下载和安装,这个插件已经是标准的vim插件,已经随vim一起安装进你的系统里了,现在先简单演示一下,进入"~/vim71"文件夹后运行vim,然后在vim中运行命令:
:e ~/vim71

我这里不是教你怎么用netrw.vim插件,而是要教你通过WinManager插件来将TagList窗口和netrw窗口整合起来,就像图1中的图标2和3组成的那个效果
现在在你的~/.vimrc中增加下面两句

let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle<cr>

然后重启vim,打开~/vim71/src/main.c,在normal状态下输入"wm"开启


***************************************************************************************************************************************************************************************
4.在工程中查找 -- 插件: Grep
下载地址 http://www.vim.org/scripts/script.php?script_id=311
版本 1.8
安装 把grep.vim 文件丢到 ~/.vim/plugin 文件夹就好了
手册 在grep.vim 文件头部

nnoremap <silent> <F3> :Grep<CR>


比如你想在/home/wooin/vim71/src/main.c中查找"FEAT_QUICKFIX",则将光标移到"FEAT_QUICKFIX"上,然后按下F3键
***************************************************************************************************************************************************************************************
5.高亮的书签 -- 插件: VisualMark
下载地址 http://www.vim.org/scripts/script.php?script_id=1026
版本
安装 把visualmark.vim 文件丢到 ~/.vim/plugin 文件夹就好了
手册 无
按照上面的方法安装好Visual Mark后,你什么也不用设置,如果是gvim,直接在代码上按下Ctrl+F2,如果是vim,用"mm",怎么样,发现光标所在的行变高亮了吧

如果你设置了多个书签,你可以用F2键正向在期间切换,用Shift+F2反向在期间切换.

***************************************************************************************************************************************************************************************
6.快速浏览和操作Buffer -- 插件: MiniBufExplorer
下载地址 http://www.vim.org/scripts/script.php?script_id=159
版本 6.3.2
安装 将下载的 minibufexpl.vim文件丢到 ~/.vim/plugin 文件夹中即可
手册 在minibufexpl.vim 文件的头部
上面那个狭长的窗口就是MiniBufExplorer窗口,其中列出了当前所有已经打开的buffer,当你把光标置

于这个窗口时,有下面几个快捷键可以用:
<Tab> 向前循环切换到每个buffer名上
<S-Tab> 向后循环切换到每个buffer名上
<Enter> 在打开光标所在的buffer
d 删除光标所在的buffer

以下的两个功能需要在~/.vimrc中增加:

let g:miniBufExplMapCTabSwitchBufs = 1

<C-Tab> 向前循环切换到每个buffer上,并在但前窗口打开
<C-S-Tab> 向后循环切换到每个buffer上,并在但前窗口打开

如果在~/.vimrc中设置了下面这句:

let g:miniBufExplMapWindowNavVim = 1


则可以用<C-h,j,k,l>切换到上下左右的窗口中去,就像:
C-w,h j k l 向"左,下,上,右"切换窗口.
在~/.vimrc中设置:
let g:miniBufExplMapWindowNavArrows = 1
是用<C-箭头键>切换到上下左右窗口中去

***************************************************************************************************************************************************************************************
7.在程序中跳来跳去: Ctags 的使用

补全:===========================================================================================================================

一、语法高亮

首先在vim的配置文件增加以下两句话

配色方案的可以进行如下设置

我是比较喜欢desert 这个配色方案的,具体里面的颜色也可以自己修改。到colors文件夹下找到相应的配色方案的配置文件,然后。。。

hi Comment guifg=Green

这是修改注释的颜色,还有相应其他的。你如果看那个颜色不爽,你就自己把它改成顺眼的颜色就行。

如果要函数和运算符高亮,可以看吴垠大牛的博客。不过需要注意的是我在将相应的配置加入到c.vim中后,发现//注释居然不能颜色高亮了。猜想可能是将//当成两个除号给高亮了,于是将这一段配置文件移到c.vim的文件首,注释也可以高亮了。

自己定义的关键字若是想高亮,则在配置文件里面加入如下语句即可。

synkeywordcType 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 Windowshttp://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等,吴垠大牛在他的博客里面已经介绍得非常的详细了。我这里就不再介绍了。以后遇到好用的插件我还会跟大家分享。今天就先到这里了,洗洗睡了~ 最后一部分的图显示有时候会出问题,我也不知道怎么回事,请大家见谅~~

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...