tagbar, 可以将正在编辑的文件生成一个大纲, 包含类/方法/变量等, 可以选中快速跳转到目标位置, 编辑大文件特别有用。
1. 安装
首先, vim必须是7.0以上
安装依赖 Exuberant ctags
# ubuntu
sudo apt-get install ctags
# centos
sudo yum install ctags
# mac
brew install ctags
在vim中安装tagbar:
Bundle 'majutsushi/tagbar'
2. 使用
在 k-vim
中配置快捷键为 F9, 编辑文件时按 F9, 进入, 上下移动 (jk), 选中回车后会跳转。
如果安装了 easymotion, 还可以使用其快速跳转。
3. 最终配置
" tagbar
Bundle 'majutsushi/tagbar'
nmap <F9> :TagbarToggle<CR>
" tagbar默认去这个目录中寻找ctags,ctags的默认安装路径也是这个目录
" let g:tagbar_ctags_bin='/usr/bin/ctags' " Proper Ctags locations
let g:tagbar_width=26 " Default is 40, seems too wide
noremap <Leader>y :TagbarToggle<CR> " Display panel with (,y)
" 启动 时自动focus
let g:tagbar_autofocus = 1
" for ruby, delete if you do not need
let g:tagbar_type_ruby = {
\ 'kinds' : [
\ 'm:modules',
\ 'c:classes',
\ 'd:describes',
\ 'C:contexts',
\ 'f:methods',
\ 'F:singleton methods'
\ ]
\ }
可以针对特定的语言进一步精确配置,上面是配置的ruby,可以替换成自己经常使用的语言,不过可惜没有发现Python的配置。具体语言的配置方法见下面的【建议】部分的文档地址。
4. 建议
- 只配置一个快捷键, 可以根据需要定制具体语言的tagbar展示内容。文档地址
- 建议废弃taglist(年久失修了), ctrlp+tagbar实际使用效果更好。
- 如果在写golang的时候要用到tagbar, 需要安装gotags支持
- 很重要的一点:通过
help:tagbar
可以查看tagbar的说明文档。