VIM 同时支持taglist和tagbar 插件
有时候需要写python,php,shell的代码, taglist已经配合的非常好了; 但是有时候又要写golang, 但是taglist弹出后没有任何索引, 于是想加载大家都在用的tagbar.
安装
我用的vundle, 加入
Plugin ‘vim-scripts/taglist.vim’
Plugin ‘majutsushi/tagbar’
执行:plugin install 后, 我之前把taglist绑在了F9上. 修改以前的map tlistToggle为自定义函数,
然后检测到语言类型后, 调用不同的tag. 再按一次F9. 就会弹出taglist或者tagbar
如果有知道的烦请告知如何调用TlistToggle
"{{
map <F9> :call CallTaglistOrBar()<CR>
function! CallTaglistOrBar()
if &filetype != 'go'
let Tlist_Ctags_Cmd='ctags' " 基于ctags
let Tlist_Auto_Open = 0 " 默认打开Taglist
let Tlist_Sort_Type = "name" " 按照名称排序
let Tlist_Show_One_File=1 " 不同时显示多个文件的tag,只显示当前文件的
let Tlist_Use_Right_Window = 0 " 在右侧显示窗口
let Tlist_Compart_Format = 1 " 不显示空白行
let Tlist_Exist_OnlyWindow = 1 " 如果只有一个buffer,kill窗口也kill掉buffer
let Tlist_File_Fold_Auto_Close = 1 " 打开其他文件的时候自动关闭,只显示一个文件的tag
let Tlist_Exit_OnlyWindow=1
let Tlist_Auto_Update=1 " 自动更新,包含新文件时候
let Tlist_Enable_Fold_Column = 0 " 不要显示折叠树
let Tlist_Use_Right_Window=1 " 右边显示 Left_Window 会左边显示
let tlist_php_settings = 'php;c:class;i:interfaces;d:constant;f:function'
map <F9> :TlistToggle<CR>
else
let g:tagbar_ctags_bin='ctags'
let g:tagbar_width=30
autocmd BufReadPost *.cpp,*.c,*.h,*.hpp,*.cc,*.cxx call tagbar#autoopen() " 在某些情况下自动打开tagbar
map <F9> :TagbarToggle<CR>
endif
endfunction
"}}
效果如下