zoukankan      html  css  js  c++  java
  • 转:vim插件 ctags 和 taglist 的安装和使用

    1.ctags
    (1)到http://ctags.sourceforge.net/下载ctags源码ctags-5.6.tar.gz
    http://prdownloads.sourceforge.net/ctags/ctags-5.6.tar.gz
    (2)解压并安装
    tar zxvf ctags-5.6.tar.gz
    cd ctags-5.6
    ./configure && make && make install
    (3)使用
    [/home/brimmer/src]$ ctags -R

    "-R"表示递归创建,也就包括源代码根目录下的所有子目录下的源程序。"tags"文件中包括这些对象的列表:
    l 用#define定义的宏
    l 枚举型变量的值
    l 函数的定义、原型和声明
    l 名字空间(namespace)
    l 类型定义(typedefs)
    l 变量(包括定义和声明)
    l 类(class)、结构(struct)、枚举类型(enum)和联合(union)
    l 类、结构和联合中成员变量或函数
    VIM用这个"tags"文件来定位上面这些做了标记的对象,下面介绍一下定位这些对象的方法:

    1) 用命令行。在运行vim的时候加上"-t"参数,例如:
    [/home/brimmer/src]$ vim -t foo_bar
    这个命令将打开定义"foo_bar"(变量或函数或其它)的文件,并把光标定位到这一行。
    2) 在vim编辑器内用":ta"命令,例如:
    :ta foo_bar
    3) 最方便的方法是把光标移到变量名或函数名上,然后按下"Ctrl-]"。用"Ctrl-o"退回原来的地方。
    注意:运行vim的时候,必须在"tags"文件所在的目录下运行。否则,运行vim的时候还要用":set tags="命令设定"tags"文件的路径,这样vim才能找到"tags"文件。

    在函数中移动光标
    [{ 转到上一个位于第一列的"{"
    }] 转到下一个位于第一列的"{"
    { 转到上一个空行
    } 转到下一个空行 ([ and ] 也分别是两个指令)
    gd 转到当前光标所指的局部变量的定义
    * 转到当前光标所指的单词下一次出现的地方
    # 转到当前光标所指的单词上一次出现的地方
    Vim 的创造者是一名计算机程序员,因此这就不奇怪 Vim 中有许多帮助编写程序的功能:
    跳转到标识符被定义和使用的地方;在另一个窗口中预览有关的声明等等。
    (ctags使用部分参考了 文章“ctags和vim”,原文在
    http://hi.baidu.com/original/blog/item/2cf8d53f00b7fcc27d1e71f0.html
    更多使用也请参考原文)


    2. taglist
    能够列出源文件中的tag(function, class, variable, etc)并跳转.
    注意:taglist依赖于ctags,所以要先装ctags,否则taglist装了也没法用!
    (1)到http://vim.sourceforge.net/scripts/script.php?script_id=273
    下载taglist_42.zip,即
    http://vim.sourceforge.net/scripts/download_script.php?src_id=6416
    (2)解压得到两个文件
    # unzip -d taglist taglist_42.zip
    # cd taglist
    # tree
    .
    |-- doc
    | `-- taglist.txt
    `-- plugin
    `-- taglist.vim
    (3)安装
    cp doc/taglist.txt /usr/share/vim/vim61/doc/
    cp plugin/taglist.vim /usr/share/vim/vim61/plugin/
    (4)配置和使用
    cd /usr/share/vim/vim61/doc/
    启动vim,用 “:helptags .”来配置好帮助文件
    重启vim,用“:TlistToggle”来打开和关闭taglist窗口。
    可以用“:help taglist”来获得更多帮助信息

  • 相关阅读:
    PHP关于VC11,VC9,VC6以及Thread Safe和Non Thread Safe版本选择的问题
    团队展示
    测试与优化:设计模式的应用和初次尝试多线程
    结对编程,三年级混合运算
    一个大气又可爱的标题
    随笔
    C#操作word类文件
    TypeError: Object of type 'int32' is not JSON serializable ——已解决
    Error: UserWarning: Ignoring URL... 已解决
    tensorflow(二)----线程队列与io操作
  • 原文地址:https://www.cnblogs.com/zhangzhang/p/2534825.html
Copyright © 2011-2022 走看看