在vim中,如何自动最大化帮助窗口

时间:2014-06-29 14:38:42

标签: vim autocmd

当我通过运行例如显示vim帮助文件时:h au,帮助显示在水平拆分窗口中:

vim help

目前我总是运行Ctrl+w _,但我希望帮助缓冲区自动在最大化窗口中打开。

我试图创建一个autocmd来解决这个问题:

"Automatically maximize help buffers
augroup filetype_help
  autocmd!
  autocmd BufWinEnter,FileType help wincmd _
augroup END

只能零星工作。

修改

我做了一些进一步的调试 打开某个帮助页面第一次,例如:h au在我的.vimrc中超过群组时显示最大值。

通过:q关闭帮助文件窗口,然后重新打开相同的帮助文件,第二次会导致帮助文件显示在拆分中,如上面的屏幕截图所示。

通过:bd关闭帮助文件缓冲区窗口,然后重新打开它,使其显示为根据需要最大化。

如何重写我的augroup,以便最大化已经打开的帮助缓冲区?

4 个答案:

答案 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上试过),但这里有一些建议:

  1. 尝试在您的augroup脚本中将wincmd _更改为set winheight=9999
  2. 如何使用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|)