Ubuntu vim+ ctags(包含系统函数) + taglist 配置

时间:2023-02-06 17:23:04

阅读大型代码,我们经常需要打开很多的代码文件,搜索各种定义。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

解压后应该得到 /doc /plugin 。 两个目录然后安装进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的帮助文档。

之后,修改 ,vimrc 文件。
添加如下内容:

"""""""""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

就可以享受系统库函数跳转等功能了。