阅读大型代码,我们经常需要打开很多的代码文件,搜索各种定义。windows下用惯了ide的朋友,转战Linux的时候可能会觉得很难受,找不到合适的阅读工具。其实万能的vim就可以实现。下面介绍一下vim+ctags+taglist的配置。
安装ctags
ubuntu源提供了ctags的安装。
sudo apt-get install ctags
安装taglist
下载:
http://vim.sourceforge.net/scripts/download_script.php?src_id=6416
拷贝到ubuntu中,使用命令解压:
mkdir ~/.vim
unzip taglist_42.zip -d ~/.vim
解压后应该得到
cp ~/.vim/doc/taglist.txt /usr/share/vim/vim74/doc/
cp ~/.vim/plugin/taglist.vim /usr/share/vim/vim74/plugin/
然后启动vim,命令模式输入
:helptags /usr/share/vim/vim74/doc/
之后,我们就可以使用
:help taglist.txt
命令来查看taglist的帮助文档。
之后,修改
添加如下内容:
"""""""""Ctags"""""""""
set tags=tags
"""""""""taglist"""""""""
let Tlist_Auto_Open = 1
let Tlist_Sort_Type="name"
let Tlist_Exist_OnlyWindow =1
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
let Tlist_Show_One_File = 1
let Tlist_Use_Lift_Window = 1
以后,你只需要在源码目录顶层输入
ctags -R
生成tags文件,然后用vim打开你的C文件,就可以使用快捷键进行跳转了。
使用ctr 和两次w在侧窗口和主窗口之间进行切换。
Ctrl + ] //跳入定义
Ctrl + T //调回
为ctags生成系统tags
如上之后,你会发现,ctags仅仅支持源文件中定义的宏,变量和函数,但是我们调用的基本函数和系统函数都没办法实现跳转。
使用下面的命令生成系统头文件tags
ctags -I __THROW --file-scope=yes --langmap=c:+.h --languages=c,c++ --links=yes --c-kinds=+p --fields=+S -R -f ~/.vim/systags /usr/include /usr/local/include
最后,设置你的~/.vimrc,加入一行:
set tags+=~/.vim/systags
就可以享受系统库函数跳转等功能了。