自己动手定制一个高效阅读源代码的vim.doc

自己动手定制一个高效阅读源代码的vim.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自己动手定制一个高效阅读源代码的vim

自己动手定制一个高效阅读源代码的vim 阅读大型工程的源代码时,我们经常需要在多个源文件之间实现函数、宏定义、外部变量等的跳转查询,但这些功能仅靠vim完成是困难的,所以还需借助一些额外的工具来打造一款合适自己的vim。 1、安装VIM 安装vim比较简单,也没有特别要注意的地方,这里就不多讲。如果你是在ubuntu系统下,直接采用: $ sudo apt-get install vim或者$ sudo apt-get install vim-gnome。安装好之后,试编辑一个文件,看看是否运行正常(一般不会有问题)。然后看看自己的用户目录下有没有一个vim隐藏配置文件:.vimrc和一个vim隐藏文件:.vim。如果没有,可以通过下面方式创建: 打开vim,在命令行模式下输入::!cp -i $VIMRUNTIME/vimrc_example.vim ~/.vimrc 就会在自己的用户目录下生成vim隐藏配置文件:.vimrc。 cd到用户目录下,运行下面命令: $ mkdir -p /.vim/{plugin,doc,syntax} 就会产生三个目录:~/.vim/plugin、~/.vim/doc、~/.vim/syntax 2、ctag的配置 tags文件是实现跳转功能的数据库文件,就是它把我们送到我们想要去的地方的。比如我们在程序里调用一个函数i2c_master_recv,在某个时刻想查看这函数本身是怎么实现的。那只需把光标停在关键词上,再按一下组合键:“ctrl+]”, 就会立刻跳转到库函数i2c_master_recv的源代码的地方,再按一下组合键 “ctrl+o” 就可以跳回来。 当然如果你要查询的函数是对一个系统调用的封装,你就可以顺着tags 提供的道路跳到内核去查看源代码是怎么写的,当然这时候可能会有不止简单的两层封装定义,但我们一次次跳转就可以深入其里,了解内幕。 首先,我们要安装ctags工具: $ sudo apt-get install ctags 如果提示找不到软件包ctags,就update一下你的软件源,还不行的话试试把ctags改成 exuberant-ctags。下载完后,你就可以用它来产生标签文件tags了。 ctags常用命令列举: 建立数据库命令 # ctags -R或者exuberant-ctags -R // 这个命令是在终端命令行下执行的(-R表示递归向下) 在vim编辑器中浏览 :ta x 跳转到符号x的定义处,如果有多个符号,直接跳转到第一处 :ts x 列出符号x的定义 :tj x 可看做上面两个命令的合并,如果只找到一个符号定义,那么直接跳转到符号定义处,如果有多个,则让用户自行选择。 Ctrl+] 跳转到当前光标下符号的定义处,和ta类似。 Ctrl+t 跳转到上一个符号定义处,和上面的配合基本上就能自由跳转了。 :tn和:tp 是在符号的多个定义之间跳转。 Ctags使用举例: 在跳转目的地执行这条命令 # ctags -R 假设正在编辑/kernel/drivers/input\touchscreen/tcc_ts_cypress.c,这个文件可能会调用内核中的某个函数,我们想直接跳转到内核去查看改函数的具体实现,应该怎么办呢?我们现在就应该在/kernel下执行上面那条命令: # cd kernel # ctags -R 命令中的选项-R的意思是:递归地进入当前目录下的所有子目录,把在该目录下的所有文件的关键词(包括函数名、宏、文件名等等关联到一起,并且写入一个tags文件)。 在$HOME/.vimrc文件中,添加一条指令,指明当前编辑程序的所在地。 在$HOME/.vimrc文件最后添加如下内容: au BufEnter /home/zhangxiaoqi/eclair_101206/* setlocal tags+=/home/zhangxiaoqi/eclair_101206/tags 上面蓝色标记的路径要更行成你自己的路径。其中/home/zhangxiaoqi/eclair_101206/*的意思是:在该路径下的所有文件都可以通过tags文件实现跳转;这个tags数据库文件,就是刚才用ctags -R命令生成的,正是由路径/home/zhangxiaoqi/eclair_101206/tags指定。 3、使用VIM插件TagList(源代码结构浏览) Taglist是vim的一个插件,可以方便地在终端侧边显示出当前程序所有的函数、宏等信息,支持鼠标双击跳转,对于规模比较大的代码而言,这是一个非常实用功能。 下载链接:/source/249784 下载完解压,得到两个文件夹 doc和plug

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档