Vim:打造Linux程序员的编辑利器(ctags+cscope+taglist+code_comp
http://smilejay.com/2012/10/vim-for-linux-programmer/
所谓“工欲善其事,必先利其器”,所谓“磨刀不误砍柴工“。 vim 下载地址:http://www.vim.org $sudo apt-get install vim
$sudo apt-get install ctags (exuberant-ctags)
$sudo apt-get install cscope
一. vim 基本配置1、配置文件的位置在目录 /etc/vim/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录($HOME)下,都可以自己建立私有的配置文件(仅对这个用户有效),命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件。我就是在自己的$HOME目录下新建了了.vimrc文件来配置的。 2、设置语法高亮显示1) 打开.vimrc,添加以下语句来使得语法高亮显示: 3、设置C/C++自动缩进(添加以下set语句到.vimrc中)1)不讨论制表符宽度为8还是为4个空格较好,这里设置(软)制表符宽度为8(Linus在规定Linux kernel中C代码的风格): 二. code_complete 配置把下载的code_complete.vim拷贝到plugin目录下,一般都在(我的是)/usr/share/vim/vim72/plugin下 (不同的vim版本vim72可能时其他,我的目前时7.2版本) 三. ctags的使用用ctags命令生成tags文件,ctags -R –c-kinds=+p –fields=+S /usr/include 应该算是建立索引表(默认会在当前目录生成tags文件),然后把生成的tags文件拷贝到你编程的目录。 VIM用这个”tags”文件来定位上面这些做了标记的对象,下面介绍一下定位这些对象的方法: 四. cscope的配置与使用可以从http://cscope.sourceforge.net/下载最新的cscope源码,对其进行编译和安装是比较简单的,如下所示。 [root@jay-linux cscope-15.8a]# ./configure [root@jay-linux cscope-15.8a]# make [root@jay-linux cscope-15.8a]# make install [root@jay-linux cscope-15.8a]# /usr/local/bin/cscope --version /usr/local/bin/cscope: version 15.8a 也许在“make”编译是可能会报一些语法的错误,比如curses.h文件没找到,就需要安装“ncurese-dev”这个软件包。 s: 查找C语言符号,即查找函数名、宏、枚举值等出现的地方 g: 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能 d: 查找本函数调用的函数 c: 查找调用本函数的函数 t: 查找指定的字符串 e: 查找egrep模式,相当于egrep功能,但查找速度快多了 f: 查找并打开文件,类似vim的find功能 i: 查找包含本文件的文件 例如:”:cscope find s kvm_assign_device”、”:cs f g kvm_assign_device”、”:cs f d kvm_assign_device”等等(注:cscope命令缩写为cs,而fine缩写为f)。 在vim中,执行“:cs help”命令可以显示cscope的命令帮助手册。 ctags和cscope在Linux世界中是非常流行的,在Linux kernel中的Makefile就专门定义了“tags”和“cscope”这两个目标的,可以直接“make tags”生成tags文件,可以直接“make cscope”生成cscope索引文件,如下所示。 [root@jay-linux linux.git]# make help | grep -E '(tags|cscope)' tags/TAGS - Generate tags file for editors cscope - Generate cscope index gtags - Generate GNU GLOBAL index [root@jay-linux linux.git]# make tags GEN tags [root@jay-linux linux.git]# ll tags -rw-r--r-- 1 root root 138602743 Oct 19 14:10 tags [root@jay-linux linux.git]# make cscope GEN cscope [root@jay-linux linux.git]# ll cscope.* -rw-r--r-- 1 root root 652930 Oct 19 14:10 cscope.files -rw-r--r-- 1 root root 267625646 Oct 19 14:11 cscope.out -rw-r--r-- 1 root root 53239808 Oct 19 14:11 cscope.out.in -rw-r--r-- 1 root root 384600480 Oct 19 14:11 cscope.out.po 五. taglist的配置和使用下载taglist压缩包,并解压, 下图演示了一下VIM强大的C/C++程序代码编辑能力,动心了吗?马上开始使用VIM吧。 参考资料:http://blog.chinaunix.net/u2/74761/showart_1096872.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何在Scala对象中使用Spring Autowired(或手动连线)?
- angularjs – 用于角度的UI套件,适用于IE8
- 常用AngularJs代码段
- mongodb – Dockerfile中的Mongorestore
- angularjs – CORS预检请求在Azure托管的Web API中响应302重
- 基于cxf实现的webservice,全程开发指南和笔记,以及代码
- AngularJS:使用异步数据初始化服务
- Angular2的提供()函数在RC4和更高版本中不推荐使用,应该使用
- 在Vim中着色make的输出:make,grep等
- twitter-bootstrap – 响应式图像:img srcset Bootstrap,加