• Env:ctags和Taglist安装与配置


    注:文章参照http://blog.csdn.net/vaqeteart/article/details/4146618


    想必用过Source Insight的人都记得这样一个功能:

    • SI能够把当前文件中的宏、全局变量、函数等tag显示在Symbol窗口,用鼠标点上述tag,就跳到该tag定义的位置;
    • 可以按字母序、该tag所属的类或scope,以及该tag在文件中出现的位置进行排序;
    • 如果切换到另外一个文件,Symbol窗口更新显示这个文件中的tag。

    在VIM中的taglist插件所实现的就是上述类似的功能,有些功能比SI弱,有些功能比SI更强。而且,taglist插件仍在不断完善中!

    :安装完ctags和Taglist可以不在源码目录下生成tags文件夹,而是只是利用ctags的目录提取功能,配合cscope来进行源码阅读。

    一. ctags

    1. 安装

    sudo apt-get install ctags

    2. 配置

    在源码目录下执行ctags -R *,会在源码目录下生成一个tags文件夹

    在vimrc中添加set tags=/code_source/tags即可

    3. 使用

    • Ctrl + ] 是跳转函数
    • Ctrl + o 调回
    • Ctrl + t 返回
    • gd 转向局部变量定义处,并高亮显示
    • *转向当前光标指向的单词下一次出现的地方
    • #转向当前光标指向的单词上一次出现的地方
    • :ts        (ts 助记字:tags list, “:”开头的命令为VI中命令行模式命令

    二. Taglist

    1. 安装

    • 首先,到http://www.vim.org/scripts/script.php?script_id=273下载最新版本的taglist plugin,目前版本是4.6(20130227)
    • 下载后,把该文件在~/.vim/目录中解压缩,这会在你的~/.vim/plugin和~/.vim/doc目录中各放入一个文件
      • plugin/taglist.vim – taglist插件
      • doc/taglist.txt    - taglist帮助文件
    • windows用户需要把这个插件解压在你的$VIM/vimfiles或$HOME/vimfiles目录

    2. 配置

    在vimrc中添加如下代码(推荐):

     1    """"""""""""""""""""""""""""""
     2    " Tag list (ctags)
     3    """"""""""""""""""""""""""""""
     4    if MySys() == "windows"                "设定windows系统中ctags程序的位置
     5      let Tlist_Ctags_Cmd = 'ctags'
     6    elseif MySys() == "linux"              "设定windows系统中ctags程序的位置
     7      let Tlist_Ctags_Cmd = '/usr/bin/ctags'
     8    endif
     9    let Tlist_Show_One_File = 1            "不同时显示多个文件的tag,只显示当前文件的
    10    let Tlist_Exit_OnlyWindow = 1          "如果taglist窗口是最后一个窗口,则退出vim
    11    let Tlist_Use_Left_Window = 1         "在右侧窗口中显示taglist窗口

    3. 使用

    在taglist窗口中,可以使用下面的快捷键

     1 <CR>          跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样
     2 o             在一个新打开的窗口中显示光标下tag
     3 <Space>       显示光标下tag的原型定义
     4 u             更新taglist窗口中的tag
     5 s             更改排序方式,在按名字排序和按出现顺序排序间切换
     6 x             taglist窗口放大和缩小,方便查看较长的tag
     7 +             打开一个折叠,同zo
     8 -             将tag折叠起来,同zc
     9 *             打开所有的折叠,同zR
    10 =             将所有tag折叠起来,同zM
    11 [[            跳到前一个文件
    12 ]]            跳到后一个文件
    13 q             关闭taglist窗口
    14 <F1>          显示帮助

    总结

    ctags+Taglist配置

     1 ".............................ctags+taglist.......................................
     2 "默认打开Taglist 
     3 
     4 let Tlist_Auto_Open=1 
     5 
     6 let Tlist_Ctags_Cmd = '/usr/bin/ctags' 
     7 
     8 let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的 
     9 
    10 let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim 
    11 
    12 let Tlist_Use_Right_Window = 0 "在右侧窗口中显示taglist窗口
    13 
    14 " minibufexpl插件的一般设置
    15 
    16 let g:miniBufExplMapWindowNavVim = 1
    17 
    18 let g:miniBufExplMapWindowNavArrows = 1
    19 
    20 let g:miniBufExplMapCTabSwitchBufs = 1
    21 
    22 let g:miniBufExplModSelTarget = 1

    Update:

    1. Taglist窗口快捷键

    nnoremap <silent> <F4> :TlistToggle<CR>

    注意:首先是vimrc中快捷键不要有重复,其次注意<F4>后面的空格。具体用法可参考doc/taglist.txt说明文档

  • 相关阅读:
    python程序2:购物车
    挖矿病毒watchbog处理过程
    docker从入门到精通再到放弃
    python基础应用---列表应用
    python基本应用--三元应用
    由java派生出来的证书错误
    python基础应用---格式化输出
    test04
    在博客中模拟Typora中的Dark风格
    Test03 TextBox
  • 原文地址:https://www.cnblogs.com/aaronLinux/p/5469230.html
Copyright © 2020-2023  润新知