安装vim插件,提高编程效率

来源:互联网 发布:cms影视系统哪个好 编辑:程序博客网 时间:2024/06/02 13:48

在linux下编程一直都是用QT和vim,小工程只有三两个文件时,用vim尤为方便,但是之前用vim都是没有安装插件,所以编程效率比较低,自从在网上看了《手把手教你把Vim改装成一个IDE编程环境(图文)》这篇博文之后(博文地址:http://blog.csdn.net/wooin/article/details/1858917),我也决定参考这篇文章好好的配置一下我的vim编程环境。


环境:ubuntu10.10,这里安装相关插件没有用apt-get install命令,而是采用传统的编译源码方式安装,这样更能明白原理。


配置目标:实现语法高亮;安装ctags插件;安装TagList插件;安装winManager插件;安装MiniBufExplorer插件;安装a.vim插件。

配置后的结果截图:


说明:vim源码编译后,被安装到(参看下面“安装vim”)目录: /usr/local/share/vim下。vim的配置文件在安装目录下,名为vimrc(没有则自己创建),这个配置文件对所有用户都生效;如果只想对某个用户使用的vim做单独配置,在在此用户的家目录下添加配置文件:.vimrc(无则自己创建,注意这是一个隐藏文件)。我的用户名为:panbin,我以下相关vimrc的配置全部添加到/home/panbin/.vimrc文件中,这些配置只对panbin这个用户生效。

我的vimrc配置文件在:

http://blog.csdn.net/panbin0054/article/details/7188581


配置过程:

(一)安装vim

www.vim.org下载vim,这里下载的是当前最新版(vim-7.3.tar.bz2),下载后将其解压,进入vim73/src目录,执行以下命令(如果不能执行,则切换值root):

$make

$make install

这样便根据其中Makefile文件的设置将vim安装到相应的目录,如果希望将vim安装到特定的目录,则在此目录中的Makefile文件中修改prefix的值为你想安装的目录名。在命令行执行$vim,如果出现vim介绍即说明此时已经安装好vim。


(二)实现语法高亮

在~/.vimrc文件中添加以下语句:

syntax enable

syntax on


(三)安装ctags插件

ctags插件功能大概是实现函数的调用和定义之间跳转,当光标在某个函数(如fun函数)调用处时,按ctrl+],光标便跳转到fun函数的定义处,此时按ctrl+r,光标又退回到fun函数的调用处。

到http://ctags.sourceforge.net/下载ctags插件,我下的是当前最新版(ctags-5.8.tar.gz)。解压并进入ctags-5.8目录,执行以下命令(如果不能执行,则切换值root):

$./configure

$make 

$make install

打开~/.vimrc文件,在其中添加一句,注意后面有“;”号,这句的意思是当打开vim时,它会在先在当前目录中找相应的tags文件:

set tags=tags;   

此时便安装好了ctags插件,ctags插件的使用简单介绍如下:

比如你有一个工程目录(名为project),此时进入project目录,在终端命令行执行:

$ctags -R     

这个命令生成了ctags插件需要用到的相应tags文件。然后用vim打开你的源代码,便可以使用ctags插件的功能。更多ctags功能和使用介绍请到网上搜索。


(四)安装TagList插件

TagList插件可以将当前文件中的所有宏,全局变量,函数等都显示在symbol窗口,用鼠标点击这些tag,便可以跳转到相应的定义处,这类似与windows系统中的source Insight的功能。

到http://www.vim.org/scripts/script.php?script_id=273下载taglist插件,我下的是当前最新版(taglist_45.zip)。解压,把解压得到的两个文件夹(doc和plugin)放到~/.vim/目录中,此时便安装好taglist插件,然后在~/.vimrc文件中添加以下语句:

let Tlist_Ctags_Cmd='/usr/bin/ctags'    

let Tlist_Auto_Open=1                 "当打开vim时自动使用taglist插件,不需要则可以不设置,只需在vim中输入:Tlist便可打开
let Tlist_Show_One_File=1        "只显示当前文件的tag

let Tlist_Exit_OnlyWindow=1     "如果taglist窗口是最后一个窗口,则退出vim

let Tlist_Use_Left_Window=1    "在左侧显示taglist窗口

此时用vim打开代码文件,便可以出现taglist插件的功能。


(五)安装WinManager插件

vim自带了netrw.vim插件,其作用是:当用vim命令打开目录时,会显示目录中的所有子目录名和文件名,或者在vim打开的某个文件中输入:e flodername,也有相同结果。WinManager插件有个功能是可以管理这些插件布局,我这里是用来管理netrw.vim插件和TagList插件,让两个插件同时显示在左边,一个在左上方一个在左下方。

到http://www.vim.org/scripts/script.php?script_id=95下载WinManager插件,我下的是当前最新版(2.3),解压,将产生一个doc目录和plugin目录,把doc目录中的文件复制到~/.vim/doc中,把plugin目录中的文件全复制到~/.vim/plugin中,现在已经安装好WinManager插件,可以在vim中输入:help winmanager查看更多的帮助。下面是配置此插件的相关操作:

在~/.vimrc文件中添加下面内容,作用是设置布局格式和打开/关闭这个格式的按键(w+m):

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


在~/.vimrc文件中添加下面内容,作用是每次用vim打开文件都会自动调用WinManager设置好的布局。

let g:AutoOpenWinManager = 1 

在~/.vim/plugin/winmanager.vim文件中添加以下内容:

"set auto open Winmanager 
if g:AutoOpenWinManager 
autocmd VimEnter * nested call s:StartWindowsManager()|1wincmd w 
endif 


(六)安装MiniBufExplorer插件

当用命令:vim a.c b.c c.c一次打开3个c文件时,即有3个buffer,此时用MiniBufExplorer来管理这些buf会很方便,MiniBufExplorer提供一个窗口可以显示一共打开几个buf,当前编辑的buf和buf间的切换。

到http://www.vim.org/scripts/script.php?script_id=159下载MiniBufExplorer,我下的是当前最新版(6.3.2),将下载到的文件(minibufexpl.vim)复制到~/.vim/plugin目录中,重启vim便可以看到MiniBufExplorer提供的效果了。同时在~/.vimrc中添加以下一句,实现可以用ctrl+方向键实现各个窗口间的切换:

let g:miniBufExplMapWindowNavArrows=1 


(七)安装a.vim插件

a.vim插件提供的功能是:当打开一个.c(.h)文件时,按下面的键会打开对应的.h(.c)文件(如果存在),

A:在新buffer中切换到c/h文件

AS:横向分割窗口并打开c/h文件

AV:纵向分割窗口并打开c/h文件

AT:新建一个标签并打开c/h文件

到http://www.vim.org/scripts/script.php?script_id=31下载,我下的是当前最新版(2.18),将下载来的a.vim复制到~/.vim/plugin/目录中,即完成安装。

在~/.vimrc文件中添加如下一句,作用是使用F12按键来切换c/h文件:

nnoremap <silent><F12> :A<CR>


vim的配置先到这里,感觉暂时已经可以满足我了,不过还有一个就是关于代码补全的问题,这里没有找到合适的插件,上面博客上提到的补全插件需要每定义一个新结构都要更新tags文件,对这个还不是很满意,所以先不去配置这个东西。感谢http://blog.csdn.net/wooin/article/details/1858917精彩的博文!

原创粉丝点击