`
1025250620
  • 浏览: 225938 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ctags install (转)

 
阅读更多

这两天看到网上有将vim 改造成功能强大的IDE的blog,突然心血来潮,亲身经历了一下。

网友的帖子都不错,我这里只是将各种插件分开罗列,然后加上一些使用技巧。

希望本文对你有所帮助!


『插件介绍』

Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。比如,tags文件就是Taglist和OmniCppComplete工作的基础。

『下载和安装』

一、我是使用apt-get安装的:

sudo apt-get install ctags

二、下载源码安装(网上提供的方法)

        1)从http://ctags.sourceforge.net/下载源代码包后,解压缩生成源代码目录,

        2)然后进入源代码根目录执行./configure,

        3)然后执行make,

        4)编译成功后执行make install。

『基本功能使用方法』

常用命令列表:

        1.  $ ctags –R *      ($ 为Linux系统Shell提示符)

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

        3. :ts                                (ts 助记字:tags list, “:”开头的命令为VI中命令行模式命令)
        4. :tp                                (tp 助记字:tags preview)
        5. :tn                                (tn 助记字:tags next)
        6. Ctrl + ]
        7. Ctrl + T

命令解释:

“$ ctags –R *”:“-R”表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。“*”表示所有文件。这条命令会在当前目录下产生一个“tags”文件,当用户在当前目录中运行vi时,会自动载入此tags文件。

Tags文件中包括这些对象的列表:

  1. 用#define定义的宏
  2. 枚举型变量的值
  3. 函数的定义、原型和声明
  4. 名字空间(namespace)
  5. 类型定义(typedefs)
  6. 变量(包括定义和声明)
  7. 类(class)、结构(struct)、枚举类型(enum)和联合(union)
  8. 类、结构和联合中成员变量或函数

VIM用这个“tags”文件来定位上面这些做了标记的对象。


剩下的命令就是定位这些对象的方法:

“$ vi –t tag” :在运行vim的时候加上“-t”参数,例如:

[/usr/src]$ vim -t main

这个命令将打开定义“main”(变量或函数或其它)的文件,并把光标定位到这一行。


如果这个变量或函数有多处定义,在VI命令行模式

“:ts”命令就能列出一个列表供用户选择。   

“:tp”为上一个tag标记文件,

“:tn”为下一个tag标记文件。当然,若当前tags文件中用户所查找的变量或函数名只有一个,“:tp,:tn”命令不可用。


最方便的方法是把光标移到变量名或函数名上,然后按下“Ctrl+]”,这样就能直接跳到这个变量或函数定义的源文件中,并把光标定位到这一行。用“Ctrl+t”可以退回原来的地方。即使用户使用了N次“Ctrl+]”查找了N个变量,按N次“Ctrl+t”也能回到最初打开的文件,它会按原路返回 。

更多功能通过命令man ctags或在Vim命令行下运行help ctags查询。


注意:运行vim的时候,必须在“tags”文件所在的目录下运行。否则,运行vim的时候还要用“:settags=”命令设定“tags”文件的路径,这样vim才能找到“tags”文件。

在完成编码时,可以手工删掉tags文件(帚把不到,灰尘不会自己跑掉^_^)。


 

『阅读说明』

1)Vim存在多个配置文件vimrc,比如/etc/vimrc,此文件影响整个系统的Vim。还有~/.vimrc,此文件只影响本用户的Vim。而且~/.vimrc文件中的配置会覆盖/etc/vimrc中的配置。这里我们只修改~/.vimrc文件。

    2)Vim的插件(plugin)安装在Vim的runtimepath目录下,你可以在Vim命令行下运行"set rtp“命令查看。这里我们选择安装在~/.vim目录,没有就创建一个。

    3)当本文说”在Vim命令行下运行cmdxx命令“时,意思是指在Vim的命令行模式下运行cmdxx命令,即在Vim的正常模式下通过输入冒号":"进入命令行模式,然后紧接着输入命令cmdxx。在后文描述中都会省略冒号":"输入。

    4)如果没有说明“在Vim命令行下运行某命令”,则是在shell中执行该命令。

    5)如果命令中间被空白符间隔或有与正文容易混淆的字符,我会用双引号将命令与正文区分。所以读者在实际操作时,不要输入命令最前面和最后面引号。

    6)本文关于组合快捷键的描述,形如a-b形式的快捷键表示同时按下a键和b键,而形如"a-b c"形式的快捷键,则表示先同时按下a键和b键,然后放开ab键,再按下c键。

    7) 本人使用的系统是Ubunt 11.10 ,Vim版本是Vi IMproved 7.3

分享到:
评论

相关推荐

    sublime text 3 的 ctags.exe (ctags的windows命令文件)

    ctags (不会安装的自己百度一下) 这个插件能跨文件跳转,跳转到指定函数...3.现在安装开始ctags的插件了,在package control中选择install package,搜索ctags就能找到ctags的插件,安装之。 如果c:\windows\system32

    sublime text 2 的 ctags.exe

    3.现在安装开始ctags的插件了,在package control中选择install package,搜索ctags就能找到ctags的插件,安装之。 如果c:\windows\system32没有下面两个文件,则加上去 msvcp71.dll msvcr71.dll

    sublime text 2 的 ctags.exe(ctags的windows命令文件)

    3.现在安装开始ctags的插件了,在package control中选择install package,搜索ctags就能找到ctags的插件,安装之。 如果c:\windows\system32没有下面两个文件,则加上去 msvcp71.dll msvcr71.dll

    ctags58可以编过

    ctags-5.8源码,可以编过,安装 1)然后进入源代码根目录执行./configure, 2)然后执行make, 3)编译成功后执行make install。(先给tags加权限再执行)

    一键安装 ctags和cscope的方法

    用vim的插件搭建一个类似sourceinsight的vi,同时加了一些vim及脚本,只需一条命令,就可安装完ctagslist,cscope等插件,达到sourceinsight的效果。

    vim和ctags的使用

    sudo apt install ctags 2. 在源代码的最顶层目录生成tags文件,就可以看到当前目录下有一个tags文件 ctags -R 3. 在 ~/.vimrc 中添加以下配置 set tags=xxx 4. 编写一个自动加载tags文件的脚本,将脚本命名为 ...

    ctags-support:在Visual Studio Code中提供CTag支持的扩展!

    ext install ctags-support 附加设置 使用此扩展名之前,您必须安装并生成.tags文件。 在您的项目文件夹下运行CTags命令。 ctags -R -f .tags 键绑定 1.导航到定义 在vscode中选择单词,然后按cmd+t ( ctrl+t ) ...

    vim+ctags+cscope一键安装(使用)

    vim+ctags+cscope一键安装(使用)

    homebrew-universal-ctags:在OSX上通用标签的Homebrew Tap

    用法brew install --HEAD universal-ctags/universal-ctags/universal-ctags未来当Universal Ctags具有带标签的发行版时,此公式应移至官方的Homebrew存储库。 然后应从该存储库中删除该公式,并添加一个tap_...

    gulp-ctags:gulp 的 ctags 插件

    npm install --save-dev gulp-ctags 使用示例 如果你想为 ./src 目录下的 *.coffee 文件生成一个标签文件,你可以这样写 gulpfile.js: gulp = require ( 'gulp' ) ; ctags = require ( 'gulp-ctags' ) ; gulp . ...

    jump-to.tmbundle:JumpTo 是 TextMate 2 的另一个 CTags 包

    brew install ctags 使用 port install ctags 确保PATH已更新,以便运行正确的版本: 如果which ctags没有指向/usr/local/bin中的 ctags,请确保将/usr/local/bin到which ctags报告的文件夹之前的PATH 。 如何...

    git 存储库的并行通用 ctags 包装器

    标签git 存储库的并行通用 ctags包装器描述...cargo install ptags要求ptags 在内部使用ctags和git命令。测试版本如下。命令 版本 ctags 通用 Ctags 0.0.0(f9e6e3c1) / Exuberant Ctags 5.8 git 版本 2.14.2 git-lfs gi

    viminstall.tar.gz

    ctags,cscope,sourceinsight,vim 用vim的插件搭建一个类似sourceinsight的vi,同时加了一些vim及脚本,只需一条命令,就可安装完ctagslist,cscope等插件,达到sourceinsight的效果。

    Linux下搭建强大VIM开发环境 (支持 Qt4 自动补全)

    需要安装ctags, 安装方法 sudo apt-get install ctags, 生成ctags文件的方法在 Read Me.txt 中 支持插件: super tab TList quick fix miniBufExplorer ... 功能介绍: 支持c/c++语言自动缩进方式 支持c函数, c++类...

    universal-ctags-feedstock:通用标签的conda-smithy存储库

    关于通用标签 主页: : 软件包许可证:仅GPL-2.0 ... conda install universal-ctags 可以列出您平台上可用的所有universal-ctags版本,其中包括: conda search universal-ctags --channel conda-forge

    esctags:javascript ctags

    javascript ctags 用法 npm install -g esctags esctags /path/to/xxx.js 例子 var c; function Bar() { this.a = 1; } Bar.prototype.xxxx = function () { var yyy = 1; }; Bar.x = 1; var b = { x: 1, y: {...

    vim.tar.gz

    sudo apt-get remove vim-tiny sudo apt-get install vim # 调试插件 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ipdb ...apt-get install ctags 参考文章《vim配置成顺手的python轻量级IDE》

    Modeling 是一种通过 Ctags 分析不同语言的工具

    造型Modeling 是一种通过 Ctags 分析不同语言的工具过程:生成选择使用 opt 调用ctags分析 ctags 日志输出结果 语言支持:Java总价打字稿高朗锈(基本)待办事项:支持按文件名过滤支持忽略文件合并选项更改为解析器...

    oh-my-vim:我的vim配置

    brew install ctags 使用MacPorts port install ctags Linux 要安装ctags,请使用您的软件包管理器。 对于基于Debian的系统(Ubuntu,Mint等): sudo apt-get install exuberant-ctags 对于基于Red Hat的...

    vimfiles:我的vim文件

    vimrc ...brew install ctags brew install the_silver_searcher 的Ubuntu sudo apt-get install ctags # Install the_silver_searcher, take a look at https://github.com/ggreer/the_silver_searc

Global site tag (gtag.js) - Google Analytics