ctags的简单用法

前端之家收集整理的这篇文章主要介绍了ctags的简单用法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

ctags的安装:

注意ctags有两个,一种是Emacs版本的,另一种是vim版本的。我们通常网上看到的资料是针对vim版本的,结合vim一起使用的。
在ubuntu下安装命令:

$sudo apt-get install exuberant-ctags


在vim编辑器内(命令模式下),ctags的几个简单操作符如下:

:ta xxx 在工程中查找 xxx 字符

Ctrl + ]
找到光标所在位置的标签定义的地方。

Ctrl + T
回到跳转之前的标签处。

Ctrl + O
退回原来的地方。

[I
查找全局标识符. Vim会列出它所找出的匹配行,不仅在当前文件内查找,还会在所有的包含文件中查找。

[{
转到上一个位于第一列的”{“。(前提是 “{” 和 “}” 都在第一列。)

]}
转到下一个位于第一列的”}”。

在括号内移动,“[(” 和 “])” 命令”[}” 和 “]}” 类似,只不过它们适用于 () 对而不是 {} 对。

{
转到上一个空行。

}
转到下一个空行。

gd
转到当前光标所指的局部变量的定义(只在当前函数内查找)。

gD
在当前文件中查找并跳转到光标处单词被首次使用的地方

*
转到当前光标所指的单词下一次出现的地方。

#
转到当前光标所指的单词上一次出现的地方。

[/
移动到一个注释的开始;

]/
移动到注释的结尾。(这只对 /* - */ 注释有效。)



打开一个预览窗口来显示函数 “write_char”:

:ptag write_char

Vim 会打开一个窗口,跳转到 “write_char” 标签。然后它会回到原来的位置。

使用 CTRL-W 命令可以在两个窗口之间来回切换。

用下面的命令关闭预览窗口

:pclose




Note:

[http://blog.csdn.net/garfieldswimming/article/details/8727481]
当运行下列命令时,
$ctags -R .
error:
ctags: skipping ***: it is not a regular file.

出错了,类似这个问题可能你运行的ctags 不是 Exuberant Ctags,而是 GNU Emacs etags,

可以输入下列命令:

$ctags --version 
ctags (GNU Emacs 23.1)
Copyright (C) 2009 Free Software Foundation,Inc.
This program is distributed under the terms in ETAGS.README

看到上面ctags (GNU Emacs 23.1),说明当前不是 Exuberant Ctags。

此时,执行man ctags可以看到:

-R,--no-regex
         Don't  do  any more regexp matching on the following files.  May
         be freely intermixed with filenames and the --regex option.

You could probably generate the tags recursively using shell magic,but you may run into problems down the road if you’re expecting Exuberant Ctags. So the best solution is probably to install the ctags you want instead:

sudo apt-get install exuberant-ctags

另一种可能是

It occurs if you have elvis-tools installed . remove them with something like

$sudo apt-get remove elvis-tools 

and then install exuberant-ctags by

$sudo apt-get install exuberant-ctags


Reference:

[http://fancyxinyu.blog.163.com/blog/static/1823213662012101694049404/]

猜你在找的Bash相关文章