技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> Linux --> vim ctags使用帮助

vim ctags使用帮助

浏览:3949次  出处信息

1、 $ ctags -R -c-types=+px ($ 为Linux系统Shell提示符)

2、$ vi -t tag (请把tag替换为您欲查找的变量或函数名)

3、:ts (ts 助记字:tags list, “:”开头的命令为VI中命令行模式命令)

4、:tp (tp 助记字:tags preview)―此命令不常用,可以不用记

5、:tn (tn 助记字:tags next) ―此命令不常用,可以不用记

6、 :tag /tag(请把tag替换为您欲查找的变量或函数名)

7、Ctrl + ] 到函数定义或声明 [ + tab

8、Ctrl + T 返回

9、[{ 转到上一个位于第一列的"{"

10、}] 转到下一个位于第一列的”{”

11、{ 转到上一个空行

12、} 转到下一个空行

13、gd 转到当前光标所指的局部变量的定义,gf打开头文件

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

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

16、Ctrl+i 前进 Ctrl+o 返回

17、ctrl+z将vi转入后台,fg可返回vi

注意:运行vim的时候,必须在“tags”文件所在的目录下运行。否则,运行vim的时候还要用“:settags=” 命令设定“tags”文件的路径,这样vim才能找到“tags”文件。在完成编码时,可以手工删掉tags文件(帚把不到,灰尘不会自己跑掉^_^)。

注:另外,在windows下,有gvim可以使用。而且,也可以使用ctags。这个ctags可以从其它的软件包的目录里边copy出来。比如ultraedit就带了一个ctags程序。你直接将其copy到gvim的目录下的vim目录下就可以了。

例子:

ctags -R -languages=c++ -langmap=c++:+.inl -h +.inl -c++-kinds=+px -fields=+aiKSz -extra=+q -exclude=lex.yy.cc -exclude=copy_lex.yy.cc

命令太长了,折成两行了,可以考虑把命令的各个参数写到文件里去了(具体做法就不谈了)。

1.

-R

表示扫描当前目录及所有子目录(递归向下)中的源文件。并不是所有文件ctags都会扫描,如果用户没有特别指明,则ctags根据文件的扩展名来决定是否要扫描该文件――如果ctags可以根据文件的扩展名可以判断出该文件所使用的语言,则ctags会扫描该文件。

2.

-languages=c++

只扫描文件内容判定为c++的文件――即ctags观察文件扩展名,如果扩展名对应c++,则扫描该文件。反之如果某个文件叫aaa.py(python文件),则该文件不会被扫描。

3.

-langmap=c++:+.inl

告知ctags,以inl为扩展名的文件是c++语言写的,在加之上述2中的选项,即要求ctags以c++语法扫描以inl为扩展名的文件。

4.

-h +.inl

告知ctags,把以inl为扩展名的文件看作是头文件的一种(inl文件中放的是inline函数的定义,本来就是为了被include的)。这样ctags在扫描inl文件时,就算里面有static的全局变量,ctags在记录时也不会标明说该变量是局限于本文件的(见第一节描述)。

5.

-c++-kinds=+px

记录类型为函数声明和前向声明的语法元素(见第三节)。

6.

-fields=+aiKSz

控制记录的内容(见第四节)。

7.

-extra=+q

让ctags额外记录一些东西(见第四、五节)。

8.

-exclude=lex.yy.cc -exclude=copy_lex.yy.cc

告知ctags不要扫描名字是这样的文件。还可以控制ctags不要扫描指定目录,这里就不细说了。

建议继续学习:

  1. vim几个小技巧(批量替换,列编辑)    (阅读:35922)
  2. 简明Vim练级攻略    (阅读:20721)
  3. Vim下的代码自动补全和代码跳转阅读    (阅读:14359)
  4. 为什么要用 Emacs/Vim,而不是任何其他编辑器    (阅读:12147)
  5. 在vim(gvim)中运行终端(对,你没有看错,我也没有写反)    (阅读:9345)
  6. vim入门,进阶与折腾    (阅读:9177)
  7. 让vim在终端下的配色亮起来!    (阅读:8567)
  8. 最近总结的一些技巧(vim,python,svn,fiddler等)    (阅读:7049)
  9. vim的复制粘贴小结    (阅读:6482)
  10. Vim 中截取部分内容保存到其他文件    (阅读:6325)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1