Vim攻略之NERD Tree、TagList篇
习惯了ZendStudio这类IDE工作区左侧文件浏览器、中间编辑区、右侧文件结构列表布局的童鞋一定对VIM原生系统简单的文件管理功能很不习惯,不过神奇的VIM也有类似的解决方案,通过NERD Tree和TagList这两个插件和VIM强大的配置功能,我们也可以让神器拥有这些功能.
TagsList需要依赖Ctags生成的tags索引,此外,我们可以借助Ctags实现函数、变量引用查看定义,将鼠标移动到要查看的变量或者方法上,按Ctrl+】将会跳转到定义处,Ctrl+t、Ctrl+o返回
贴张本人配置后的效果
PS:<F3>映射打开/关闭 NERDTree、<F4>映射打开/关闭TagList
NERD Tree
NERD Tree 提供树状方式浏览文件和目录,支持快捷键与鼠标操作,包含书签、过滤等实用功能,它以不同颜色显示节点类型,丰富的快捷键和命令用户体验非常不错.
最新版是 4.2.0适用vim7.0以上版本,官方地址
配置规则
“NERDTree插件功能配置
map <f3> :NERDTreeToggle work<CR> “F2快捷键打开关闭NERDTree功能
“NERDTree Settings{
let NERDTreeWinPos =”left” “将NERDTree的窗口设置在gvim窗口的左边
let NERDTreeShowBookmarks=1 “当打开NERDTree窗口时,自动显示Bookmarks
let NERDTreeBookmarksFile=$vim.”\\.NERDTreeBookmarks” “设置书签文件为VIM根目录
“}
TagList
TagList 是Vim的源代码浏览插件,提供了在Vim中查看文件中包含的函数、类、变量的功能.TagList功能实现要依赖于Ctags生成的代码索引文件.
安装TagList之前需要安装Ctags支持,推荐使用Exuberant,官方提供Win编译版(Win7/64x支持),建议安装时复制ctags.exe文件到系统环境或指定安装路径到系统$PATH,笔记发现整合TagList和Ctags时Win环境路径支持不是很好.
代码索引生成(用于TagList)
进入项目根目录执行 “ctags -R .”,将对当前根目录进行递归生成索引.
配置TagList
set tags=tags; “结尾分号不能少,指定先从当前目录查找tags文件,再向上递归
set autochdir “自动设置工作目录为当前目录(tags文件目录相对于tags文件)
filetype plugin on
let Tlist_Ctags_Cmd = “ctags\.exe” “ctags.exe文件路径,当前ctags.exe路径指定为系统环境变量$PATH
let Tlist_Show_One_File = 1 “不同时显示多个文件的Tag,只显示当前文件
let Tlist_Exit_OnlyWindow = 1 “如果Taglist窗口是最后一个窗口时退出VIM
let Tlist_Use_Right_Window = 1 “让Taglist窗口在右侧显示
let Tlist_GainFocus_On_ToggleOpen = 1 “设置当执行TlistToggle时,定位当前光标到Tlist窗口
参考资料:
1.http://vim-taglist.sourceforge.net/manual.html