ctags用于显示源文件中的宏,变量和函数。官方网站为:http://vim-taglist.sourceforge.net/
taglist要求vim 6.0及以上版本,ctags 5.0及以上版本。
从官方网站或者vim下载zip压缩包,解压到~/.vim/。在该目录下将有如下两个文件。
1 2 | plugin/taglist.vim - main taglist plugin file doc/taglist.txt - documentation (help) file |
打开vim,执行命令:helptags ~/.vim/doc。退出vim。后续可以使用:help taglist.txt来查看taglist的帮助信息。
进入vim后可以使用:TlistToggle打开或关闭taglist。效果如下:
taglist本质上是一个vim分隔窗口。
:TlistOpen命令打开taglist窗口并跳转到它。:TlistToggle打开或关闭taglist窗口,光标保留在当前窗口。如果Tlist_GainFocus_On_ToggleOpen被设置为1,则光标跳到taglist窗口。
可以设置快捷键来映射按键。将下述内容加到.vimrc文件。
1 | nnoremap <silent> <F8> :TlistToggle<CR> |
这样就可以按f8来打开和关闭taglist窗口了,非常方便。
为了在vim起来的时候打开taglist,可以设置Tlist_Auto_Open变量为1.
你也可以在命令行选项打开taglist。
1 | vim +TlistOpen |
在taglist窗口时,按q或使用:q命令关闭taglist窗口。也可使用vim命令来关闭,:TlistToggle和:TlistClose
为了在tag选择或者文件选择时,自动关闭taglist窗口,设置变量Tlist_Close_On_Select为1。
当只有一个taglist时,退出vim,设置Tlist_Exit_OnlyWindow为1。就是说有taglist窗口时,退出vim是否立即退出。
使用回车键选择tag。
如果选择的文件已经打开,则光标移动到那个窗口的tag位置。如果文件没有打开,则文件将被打开。如果没有合适的窗口,则在新窗口打开。
为了跳转到新窗口,按o键。
为了在之前的窗口打开文件,使用P键。使用p键来跳转tag,但是保持光标在taglist窗口。
为了在tab中打开文件,使用t键。如果已经打开还是使用原来的窗口,使用ctrl+t强制在新的tab打开。
x
全屏taglist窗口,有时候符号太长,可以x打开或关闭全屏
u
更新taglist的符号,如果源文件修改了,可以在taglist窗口按u,来更新
q
退出taglist窗口
<space>
在状态栏,显示函数原型
let Tlist_Show_One_File=1
只显示当前文件,默认会显示所有文件的taglist
let Tlist_Auto_Update = 0
关闭周期性自动更新,taglist会根据文件时间戳来更新。
autocmd BufWritePost *.c :TlistUpdate
保存文件的时候,执行taglist update