需要用到的插件:
taglist需要ctags支持
ctags.exe:http://ctags.sourceforge.net/
taglist显示tag列表
taglist:http://www.vim.org/scripts/script.php?script_id=273
显示buf列表:
bufexplorer:http://www.vim.org/scripts/script.php?script_id=42
Nerd_Tree文件浏览
Nerd_tree:http://www.vim.org/scripts/script.php?script_id=1658
界面管理插件:
winmanager:http://www.vim.org/scripts/script.php?script_id=95
一、ctags:
下载解压后是源码,感觉就那个exe文件有点用。直接放到一个目录里,D:\ctags58。
设置一下环境变量。path=D:\ctags58。这样可以直接运行目录下面的ctags.exe文件。或者直接把ctags.exe放入windows的目录里。
vimrc中的设置:
"生成一个tags文件
nmap <F9> <Esc>:!ctags -R *<CR>
二、taglist设置:
下载解压到相应的vim文件夹中。
vimrc中设置:
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
"设置Taglist
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
" 这项必须设定,否则出错,配置taglist的ctags路径
let Tlist_Ctags_Cmd =
'D:\ctags58\ctags.exe'
" 不同时显示多个文件的 tag ,只显示当前文件的
let Tlist_Show_One_File=1
" 如果 taglist 窗口是最后一个窗口,则退出 vim
let Tlist_Exit_OnlyWindow=1
"让当前不被编辑的文件的方法列表自动折叠起来
let Tlist_File_Fold_Auto_Close=1
"把taglist窗口放在屏幕的右侧,缺省在左侧
let Tlist_Use_Right_Window=1
"显示taglist菜单
let Tlist_Show_Menu=1
"启动vim自动打开taglist
"let Tlist_Auto_Open=1
启动自动打开这个选项暂时不设置。后面要让winmanager调用taglist。
三、bufexplorer:
下载解压,没啥说的。
四、winmanager:
下载解压,vimrc中的设置:
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
"
""
winManager setting
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
"
"设置界面分割
"let g:winManagerWindowLayout = "
BufExplorer,FileExplorer|TagList"
let g:winManagerWindowLayout =
"TagList|FileExplorer,BufExplorer"
"设置winmanager的宽度,默认为25
let g:winManagerWidth = 30
"定义打开关闭winmanager按键
nmap <silent> <F8> :WMToggle<cr>
以上3个插件安装设置完毕后,基本的界面功能就可以实现了。按F8可以打开/关闭界面。同时显示taglist和fileexplorer。在fileexplorer窗口中按<c-n>可以切换到bufexplorer窗口。
上述设置好后,有3个问题:
1 我想让插件显示在右侧,但是winmanager里面没有此选项
2 进入vim时候不能自动打开winmanager,winmanager不像taglist支持该功能
3 退出时不会像只有taglist时候那样,退出当前文件就会退出vim了
经过多次修改代码终于实在了上述3个功能。
五、将插件显示在右侧
打开winmanager.vim,在function! <SID>StartWindowsManager()函数中修改:
将:wincmd H 修改为wincmd L:
六、进入vim自动打开winmanager
这个功能作为可选功能,我们可以在vimrc中设置:
"在进入vim时自动打开winmanager
let g:AutoOpenWinManager = 1
就可以让winmanager自动打开。
在winmanager.vim中修改:
"set auto
open
Winmanager
if
g:AutoOpenWinManager
autocmd VimEnter * nested call s:StartWindowsManager()|1wincmd w
endif