Vim 必备插件
1、介绍
这篇文章介绍vim在linux命令行下的基本轻量级必备插件,运行环境是c/C++语言,也可以用于java,php等语言。这些必要插件包括ctag,taglist,NERDTree,和ag这四个。
有朋友问4个插件会不会少了一点,自动补全怎么办?跳转引用文件怎么办?语法检查怎么办?我一直坚信,“Less is more.”因此尽量用这几个插件的扩展以及vim本身的衍生功能解决。自动补全手动ctrl-n,文件跳转gf,语法检查就等编译时候来弄咯。最差的情况,以后用不习惯了,感觉复杂了在加个插件就可以。不过还是那句话,less is more,把现有的工具发挥极致才是最好的。
有一个说法,一个程序员说自己90%的时间在写代码,实际上他写代码的时间90%是在看代码,看代码是在理解符号之间的关系和逻辑。可想而知,真正敲代码的时间是多么的少。看代码,是本文介绍的4个必要插件的特长,辅助理解代码,基本上与写代码关系不大。
首先,简单说说每个插件的作用:
名称 | 功能 |
---|---|
ctags | 用于搜索文本之间的函数调用,实现跳转到定义,跳转到引用,跳转到实现等功能。 |
ag | 搜索代码,类似于vs里头的全局搜索和Eclipse里头的File Search功能,可以查到被注释的代码。 |
taglist | 侧边栏显示关键字,包括函数名(function),类定义(enum,struct,class),宏(macro,struct),全局变量等。 |
NERDTree | 实现目录树浏览,相当于Project view。 |
2、效果
先上最终效果图,如下:
左边是taglist的效果,右边是NERDTree的效果,中间是正文,下面是使用ag搜索的结果。看到右边tree目录下面有个名为tags的文件是ctag产生的文件,是符号数据库,有了这个就可在文件中进行关键字跳转。
3、插件安装、配置和说明
我们安装上面列表ctags,taglist,ag,NERDTree的顺序来介绍。在我眼里,都很重要,但是重要性依次降低。
1、ctags
功能:
扫描指定的源文件,找出其中所包含的语法元素,并将找到的相关内容记录下来。大部分的unix系统都有ctags软件,它能跟vim很好地合作。
安装:
ubuntu 14.0.4下面可以直接安装:
chens@chens-70MYA001CN:~$ sudo apt-get install ctags
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'exuberant-ctags' instead of 'ctags'
exuberant-ctags is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 319 not upgraded.
或者:
可以使用源代码安装
tar -xvf ctags-5.8.tar.gz
cd ctags-5.8
./configure --prefix=/usr/local/ctags
make && make install
<