一、用winmanager合并显示NERDTree和TagList

来源:互联网 发布:淘宝的盈利模式是什么 编辑:程序博客网 时间:2024/04/29 14:57

需要用到的插件:

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

0 0