zoukankan      html  css  js  c++  java
  • 57、vi常见用法,tags

    1、tag是一个位置,记录了关于一个标识符在哪里被定义的信息。这种tag聚集在一起被放入一个tags文件,这个文件可以让Vim能够从任何位置起跳达到tag所指示的位置--标识符被定义的位置。

        对于程序来说,Tag文件中保存了诸如函数、类、结构、宏等的名字,它们所处的文件,以及如何通过Ex命令跳转到这些标签。它是一个纯文本文件,因此你可以手工的编辑它,也可以使用脚本对其进行操作。

    2、生成tags

    ctags -R  //当前目录的所有子目录

    ctags *.cpp *.h

    :set tags=tags; //设置tags选项为当前目录下的tags文件;如果当前目录找不到文件tags,则往上一层目录查找,直到找到。

    3、跳转命令

    ctrl + ]

    跳转函数、宏

    ctrl + o

    回到跳转前的地方

    ctrl + T

    跳到标签栈中较早的标签

    shell命令行中输入"vim -t 函数名" 直接打开文档并跳转函数

    :tag

    函数名(不分大小写) 跳转函数

    :tags

    显示跳转标签栈

    ptag name

    打开包含当前name的预览窗口,通过pclose关闭

    pedit name

    ptag 打开的文件只读,pedit可写

    tnext,tselect

    tnext可以到下一个tagtselectvi会列出所有相关tag

    psearch

    查找tag

    help 29.1

    tags的help

    4、其他注意点

    1)不是tags当前[]目录需要为vi指定路径。例 :set tags=/home/test/tags

    2)set nocompatible //不要vim模仿vi模式,否则会有很多不兼容的问题

    3)set nowrap  不自动换行

    4)一般来说,我们会先执行 ctags -R /usr/include/* 生成一个tags文件,然后用 ctags -a -R <our project root directory>来把我们项目文件中的变量、函数定义追加到上面生成的那个tags文件中,这样就生成了一个包含linux声明和我们代码声明的一个tags文件。

    5)vi有具有如同source insight的功能,如插件taglist,参见【5

    参考

    1tags简单讲解

    http://blog.tianya.cn/blogger/post_show.asp?BlogID=1104557&PostID=13677102

    2】 关于tags及更高级使用的讲解

    http://www.cnblogs.com/striveford/articles/1950331.html

    3http://ctags.sf.net

    关于ctags的下载安装

    http://xfenoo.blog.51cto.com/747433/275308

    4】 对tag进行了详细的讲解

    http://easwy.com/blog/archives/advanced-vim-skills-use-ctags-tag-file/

    http://edt1023.sayya.org/vim/node13.html

    5】 更多关于vim

    http://easwy.com/blog/archives/advanced-vim-skills-catalog/

    6】 其他

    http://www.cnblogs.com/super119/archive/2011/04/05/2005619.html

  • 相关阅读:
    3
    2
    1
    11
    12
    8888888888
    99999999999
    88888888888
    77777777
    10.23
  • 原文地址:https://www.cnblogs.com/mydomain/p/2202433.html
Copyright © 2011-2022 走看看