打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Ctags with Vim
userphoto

2007.01.17

关注
发信人: neman (行胜于言), 信区: VIM
标  题: Ctags with Vim
发信站: BBS 水木清华站 (Mon May 24 08:42:57 2004), 站内

usage:     $ctags [-R] inc_dir/*.h  include_dir/*.hpp src_dir/*.c
example:   $ ctags -R `find . -name "*.c"`  `find . -name "*.h"`
su; cd /usr/include; ctags --c-types=+p+x -sort -R 
生成非常完整,巨大而有序的tags
各用户在 ~/.vimrc中添加set tags= ./tags, tags, /usr/include/tags即可使用
[注1]+p开关会跳到变量声明的地方而不是它的实现,所以还是采用缺省值,
不要--c-types这个选项,或者只要+x(推荐),其它无所谓。
还有/usr/include并不是/usr/src/linux/include的一个符号链接,
所以如果是看内核中一些变量的定义的话应该到/usr/src/linux上面用ctags
ctags浏览代码 (有的命令说明可能不准确)
:set tags=/Dir/tags     设置需要的tags文件,
                        可以多个:set tags=/dir1/tags, /dir2/tags
:tag xxx                转到满足查找代码的定义处,简写为 :ta xxx
:tag /^xxx              转到以xxx为起始的tag处
other find tags :stag/ptag/ts/tj/pts/ptj /<pat>
:tag /xxx               列出所有包含xxx的tag
:tag                    转到前一个浏览过的tag处
vi -t xxx               直接定位到xxx的定义处
:tn   /  :tp            转到下/上一个tag代码处,可以使用:5tn的形式
:tr   /  :tl            转到首/尾tag代码处
<C-]>, <C-左键>         转到光标所在函数或者变量的定义处 g+左键 (GUI) [注2]
<C-T>, <C-右键>         回到跳转前的代码处(适用于任何跳转) g+右键 (GUI)
:tags                   列出当前tag栈的内容
:ts xxx                 列出所有匹配的代码及其所属文件,并提供选择浏览
:sts xxx                列出匹配处提供选择在新窗口中打开文件
:tj xxx                 类似 :ts xxx,当只有一个匹配时直接转到代码处
g]                      与 :ts xxx 功能相同(tag为光标下的标识符)
<C-w> g]                等价于 :sts xxx
g <C-]>                 等价于 :tj xxx
:pt? xxx                提供上述命令(?为j,s)的预览功能,退出窗口 :q!
:t?! xxx                当前文件的修改被丢弃转到目标文件中
<C-w> }                 在预览窗口中显示当前光标下的tag
:ptl / ptf / ptn /ptp   类似于 tl,tf,tn,tp
:che                    察看没有找到的头文件(checkpath)
makeprg :set makeprg=gcc\ yourfile.c 为在线编译设置
:make                   在线编译
:cn  /  :cN             移动到编译的 下/上 一个error处
:stag xxx               查找xxx的声明处并在新窗口中打开
:ta {ident}             跳转到标识符定义处
gd                      跳转到局部标识符定义处
[注2] Ctrl-]碰巧是telnet的终端符,如果远程编辑文件可能会遇到一些问题,
请参考在线帮助:h ^]。多数telnet都允许使用命令telnet -E hostname来打开
或关闭该脱字符,或者用telnet -e escape hostname来指定另外一个脱字符
来代替^],请man telnet参看-E -e的帮助。
--
      祝所有我关心的人 幸福 快乐
      祝所有关心我的人 快乐 幸福
 
      当回首往事时,后悔没有去做的事总比后悔做了的事情多

※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.68.*]
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
嵌入式Linux系列第19篇:如何高效的阅读Linux源码
vim插件使用简介
安装Exuberant Ctags及Tag List插件
用vim ctags taglist cscope打造文本模式下的Kscope
ctags简明使用方法
*29.1* 使用标签
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服