Vim集成Ctags/Taglist
来源:互联网 发布:淘宝仓库管理系统 编辑:程序博客网 时间:2024/05/25 12:20
参考了网上大量的博客,不知道什么原因,每个单独的博客都不能完全正确实现,可能是我们环境不一致,有差异,这里我把自己安装的过程参照网上的一些文章做个整理。其中直接复制了大量网上的资源,在此感谢所有无私奉献的各位!
在开始操作前,先普及下基础概念,然后约定一下表达规范。
本机环境:
操作系统: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"文件中包括这些对象的列表:
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 onmap <silent> <F9> :TlistToggle<cr> set tags=/s01/etl_data_pisa/bin/tagssyntax enablesyntax onlet 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等博主用不到,所以就没捣鼓了。。。
- Vim集成Ctags/Taglist
- vim集成ctags和taglist
- vim+ctags+taglist+cscope
- vim + taglist + ctags
- vim + ctags + taglist 轻装上阵
- vim + ctags + cscope+taglist
- Vim+Taglist+Ctags组合
- vim+ctags+cscope+taglist
- vim taglist+ctags配置
- vim+Taglist+cscope+ctags
- vim+ctags+taglist
- Vim + ctags + taglist + code_complete
- vim+ctags+taglist
- vim ctags taglist
- vim&ctags&taglist 备忘
- vim+ctags+taglist+cscope
- vim + cscope + ctags + taglist
- vim-ctags-taglist-netrw
- 线程的生命周期
- Android使用有道翻译API实现在线翻译功能
- 史上最昂贵的10大域名 Sex.com名列世界第一身价
- comparator接口与Comparable接口的区别
- 即时通信中的多媒体上传传输与播放
- Vim集成Ctags/Taglist
- 使用@Controller注解为什么要配置<mvc:annotation-driven />
- List 的赋值问题
- 成为富翁的6大创业法则
- <context:component-scan base-package=com.xxx.xxx/ >包扫描注解
- 把nginx加入到系统服务,利用chkconfig控制
- 为什么工具类App,都要做一个社区?
- 几个抽烟学生的笑话
- Java套接字通讯实例...【Pnoker】