解决Vim使用Winmanager插件时自动启动与自动退出方法

    • 解决Vim使用Winmanager插件时自动启动与自动退出方法
  • 背景
  • 一自动打开
  • 二自动退出

解决Vim使用Winmanager插件时自动启动与自动退出方法

相信大家对Vim的感情是又爱又恨,爱他的无比强大,但想要真正使用他进行开发确又得花费大量时间习惯他的操作,但同时他又有很多的不足。对熟悉Visual Studio的人来讲(我)很是不爽。安装插件就是解决方案。

背景

按照两个前人的博客安装插件,分别为:

http://www.kuqin.com/shuoit/20140814/341684.html

http://blog.csdn.net/bokee/article/details/6633193

第一个是使用pathogen进行插件管理,但是装完Nerdtree和Tagbar之后发现好难看,大概是这样
解决Vim使用Winmanager插件时自动启动与自动退出方法_第1张图片

没办法,只有按照第二个链接继续安装一个叫做Winmanager的插件,但是不能够自动启动,百度一下,于是有了以下解决方法:

一、自动打开

参照[3],我们可以在~/.vimrc中设置:

let g:AutoOpenWinManager = 1

同时,修改~/.vim/plugin/winmanager.vim文件,加入

"set auto open Winmanager if g:AutoOpenWinManager autocmd VimEnter * nested call s:StartWindowsManager()|'q'|4wincmd w endif

我给大家解释一下,’q’解决出现空白窗口现象,后面4wincmd w表示模拟4次w按键使光标自动跳转到打开的文件,而不是Nerdtree或者Tagbar窗口。OK,现在打开一个文件之后直接长这样:

但是退出此文件时,需要使用:qa命令,如何做到自动退出Winmanager呢?

二、自动退出

这个是一个比较近似的做法,和[3]不同的是我修改了自动退出Nerdtree的语句。判断当前窗口包含几个子窗口,如果有2个的话自动退出。在~/.vimrc中加入

"自动退出Winmanager autocmd bufenter * if (winnr("$") == 2 && exists("b:NERDTreeType") &&b:NERDTreeType == "primary")  | qa | endif

至此结束。

[1] http://www.kuqin.com/shuoit/20140814/341684.html
[2] http://blog.csdn.net/bokee/article/details/6633193
[3] http://www.cnblogs.com/ifys/archive/2010/10/24/1860610.html

你可能感兴趣的:(vim,自动退出,winmanager,自动打开)