当我通过运行例如显示vim帮助文件时:h au
,帮助显示在水平拆分窗口中:
目前我总是运行Ctrl+w _
,但我希望帮助缓冲区自动在最大化窗口中打开。
我试图创建一个autocmd来解决这个问题:
"Automatically maximize help buffers
augroup filetype_help
autocmd!
autocmd BufWinEnter,FileType help wincmd _
augroup END
只能零星工作。
修改
我做了一些进一步的调试
打开某个帮助页面第一次,例如:h au
在我的.vimrc
中超过群组时显示最大值。
通过:q
关闭帮助文件窗口,然后重新打开相同的帮助文件,第二次会导致帮助文件显示在拆分中,如上面的屏幕截图所示。
通过:bd
关闭帮助文件缓冲区窗口,然后重新打开它,使其显示为根据需要最大化。
如何重写我的augroup,以便最大化已经打开的帮助缓冲区?
答案 0 :(得分:1)
BufWinEnter
事件与帮助文件名匹配,因此help
模式(适用于FileType
匹配)将无效。 'filetype'
选项仅为缓冲区设置一次,因此当重用时(:q
之后,而不是:bd
之后),您的最大化将以您报告的方式失败。
相反,让:autocmd
匹配所有缓冲区,并检查'buftype'
:
augroup filetype_help
autocmd!
autocmd BufWinEnter * if &l:buftype ==# 'help' | wincmd _ | endif
augroup END
答案 1 :(得分:0)
我假设您希望帮助窗口水平最大化。
抱歉,我无法重现您的错误(在MacVim 7.4-258和vim 7.4-258上试过),但这里有一些建议:
wincmd _
更改为set winheight=9999
。wincmd T
在新标签页中打开帮助呢?答案 2 :(得分:0)
我认为您可以通过将以下内容放在.vimrc(或任何地方)而不是augroup / autocmd中来实现您的帮助缓冲区最大化的目标:
:set helpheight=9999
答案 3 :(得分:-1)
|CTRL-W_o| CTRL-W o close all but current window (like |:only|)