zoukankan      html  css  js  c++  java
  • vim 插件 -- ctags

    vim ctags 插件实现代码跳转的功能。希望在一个项目中快速的找到函数,变量,宏等定义的地方。

    下载

    http://ctags.sourceforge.net/ 

    安装

    tar -jxvf ctags-5.8.tar.gz

    cd ctags-5.8

    vim INSTALL (在这里可以看到如何安装ctags,没有兴趣的可以不看这步)

    ./configure

    make

    sudo make install

    使用&配置

    使用

    1、生成tags文件

        cd ~/testCode/

        /usr/local/bin/ctags -R ./  (这里指定了全路径是因为安装了多个ctags,所以需要指定哪个版本。)

        如果是C++工程,建议使用 ctags -R --c++-kinds=+p --fields=+ialS --extra=+q ./ 

        命令完成后就会产生一个tags文件。ctags 插件就是根据这个文件来进行函数定位的。

    2、打开一个文件,然后选定任意一个函数或者变量,使用 ctrl + ] 就可以跳转到该函数或者变量定义的地方。

    3、ctrl + t 跳回去

    配置 (可以直接复制到 ~/.vimrc)

    "ctags config
    "设置tags文件路径,这样不管在哪用vim打开代码都可以跳转了。
    "如果不设置,那么就必须在有tags文件的目录才能跳转
    set tags=/code/svn/study/trunk/tags

    "实现自动递归查找功能,但是我在set tags 之后就可以实现递归查找了。
    "有可能是因为我的tags是在项目根目录下生成的有关。先记录,如果
    "不能实现递归跳转可以添加上试试。建议tags文件都在项目根目录下生成。
    "set autochdir
    "set tags=tags;

      

    命令总结

    ctags -R * (生成tags文件。建议在项目的根目录下生成tags文件,因为ctags要实现整个项目跳转就需要项目根目录下有这个文件。)

    vim -t 函数名或者变量名

    ts  (tagslist, 可以列出当前跳转的所有结果)

    tp (tagspreview, 跳转到上一个)

    tn (tagsnext,跳转到下一个)

    ctrl + ] (跳转)

    ctrl + t (跳回到最初的地方)

    报错

    ctags -R ./
    ctags: Failure on attempt to read file : Is a directory

    当前目录下有一个tags的目录,删除或者改名即可。

    其他

    ctags -R ./   命令是默认只包含C语言的语法分析。

    如果需要支持C++语法分析,需要用如下命令:

    ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ./

    如果有echofunc插件来显示函数的参数定义插件。那么需要用如下命令:

    ctags -R --fields=+lS ./

    建议直接使用:

    ctags -R --c++-kinds=+p --fields=+ialS --extra=+q ./

    参考

    https://blog.csdn.net/kang99827765/article/details/39430433

  • 相关阅读:
    mysql BETWEEN操作符 语法
    mysql IN操作符 语法
    mysql LIKE通配符 语法
    mysql TOP语句 语法
    mysql DELETE语句 语法
    mysql Update语句 语法
    mysql INSERT语句 语法
    mysql ORDER BY语句 语法
    mysql OR运算符 语法
    mysql AND运算符 语法
  • 原文地址:https://www.cnblogs.com/AndyStudy/p/8696365.html
Copyright © 2011-2022 走看看