Vim集成Ctags/Taglist

       参考了网上大量的博客,不知道什么原因,每个单独的博客都不能完全正确实现,可能是我们环境不一致,有差异,这里我把自己安装的过程参照网上的一些文章做个整理。其中直接复制了大量网上的资源,在此感谢所有无私奉献的各位!

在开始操作前,先普及下基础概念,然后约定一下表达规范。

    本机环境:

    操作系统:Oracle Linux Server(可以等于RedHat)

    本文不介绍使用技巧,具体怎么使用,因为我也是第一次用,只介绍怎么安装。

    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键。

1,安装使用Ctags

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


       这里介绍从源代码包安装,安装步骤跟大多数软件的从源代码安装步骤一样。

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

        2)然后进入源代码根目录执行./configure(这里需要root安装,不然第4步会没有权限,我前3步用的其他用户,第4步用的root),

        3)然后执行make,

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

        5)在源码目录下执行
           [root@localhost ctl]# ctags -R               --不知道为什么非root用户得用绝对路径执行才行[oracle@localhost bin]$ /usr/local/bin/ctags -R
           "-R"表示递归创建,也就包括原始码根目录下的所有子目录下的源程式,当前目录下会生成tags索引文件。
           假设原来当前源码目录包含以下内容
           ./Makefile
           ./src #源码存放的目录
           执行ctags -R后
          ./Makefile
           ./src #源码存放的目录
           ./tags
           "tags"文件中包括这些对象的列表:

到此,Ctags已安装成功。

2,安装使用Taglist

        Taglist是vim的一个插件,提供源代码符号的结构化视图。


        1)从http://www.vim.org/scripts/script.php?script_id=273下载安装包,也可以从http://vim-taglist.sourceforge.net/index.html下载。

        2)进入~/.vim目录,将Taglist安装包解压,解压后会在~/.vim目录中生成几个新子目录,如plugin和doc(安装其它插件时,可能还会新建autoload等其它目录)。

        3)进入~/.vim/doc目录,在Vim下运行"helptags ."命令。此步骤是将doc下的帮助文档加入到Vim的帮助主题中,这样我们就可以通过在Vim中运行“help taglist.txt”查看taglist帮助。

        4)打开配置文件~/.vimrc,加入以下两行:(有些是我后面添加完善其他功能的,最基本的我也不知道是哪两个了←_←,具体的设置说明,百度taglist,会有更详细的说明)


filetype on
map <silent> <F9> :TlistToggle<cr> 
set tags=/s01/etl_data_pisa/bin/tags
syntax enable
syntax on
let Tlist_Show_One_File=1     
let Tlist_Exit_OnlyWindow=1   
let Tlist_Show_Menu=1         
let Tlist_Auto_Open=1         
let Tlist_File_Fold_Auto_Close=1

        5)修改[oracle@localhost ~]$ vi ~/.vim/plugin/taglist.vim

             在 if !exists('loaded_taglist')上面加入
             let Tlist_Ctags_Cmd="/usr/local/bin/ctags"

这里应该是ctags安装的路径,查看

[root@localhost ~]# which ctags
/usr/local/bin/ctags

否则会报错:


vim里面执行Taglist的相关命令也会报错



到此安装已经完成。

       在Vim命令行下运行TlistToggle命令就可以打开Taglist窗口,再次运行TlistToggle则关闭(也可以TlistOpen打开,TlistColse关闭)。示图如下:


我们可以通过ctrl+2个w 快捷键或鼠标点击在Taglist窗口和编辑区之间切换焦点,在Taglist窗口用鼠标或键盘选择某个符号,然后点击或回车,就可以跳转到该符号定义的位置,(我无法鼠标切换,只能crtl+2w或回车)



/Cscope/Winmanager/NERDTree/OmniCppComplete等博主用不到,所以就没捣鼓了。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值