VIM 同时支持taglist和tagbar 插件

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  :call CallTaglistOrBar()
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  :TlistToggle
    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  :TagbarToggle
    endif
endfunction
"}}

效果如下
VIM 同时支持taglist和tagbar 插件_第1张图片

VIM 同时支持taglist和tagbar 插件_第2张图片

你可能感兴趣的:(Editor,Linux,golang,vim,go,taglist,tagbar,golang)