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

  • 相关阅读:
    设计模式(二十)---迭代器模式
    设计模式(十九)---观察者模式
    设计模式(十八)---模板方法模式
    设计模式(十七)---策略模式
    ElasticSearch 安装
    MongoDB进击 Linux单机安装
    List集合去除重复对象。。。记录一下
    Springboot整合mybatisPlus实现分页
    git记录
    Springboot异常处理errorController
  • 原文地址:https://www.cnblogs.com/AndyStudy/p/8696365.html
Copyright © 2011-2022 走看看