0

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

vim 帮助

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

我试图创建一个自动命令来解决这个问题:

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

这只偶尔起作用。

编辑:

我做了一些进一步的调试。第一次
打开某个帮助页面,例如当我的.:h au.vimrc

通过关闭帮助文件窗口然后再次:q重新打开同一个帮助文件会导致帮助文件以拆分形式显示,如上面的屏幕截图所示。

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

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

4

4 回答 4

2

BufWinEnter事件与帮助文件名匹配,因此该help模式(适合FileType匹配)将不起作用。该'filetype'选项仅为缓冲区设置一次,因此当它被重用时(在 之后:q,但不是在 之后:bd),您的最大化失败,就像您报告的那样。

相反,:autocmd匹配所有缓冲区,并检查'buftype'

augroup filetype_help
    autocmd!
    autocmd BufWinEnter * if &l:buftype ==# 'help' | wincmd _ | endif
augroup END
于 2014-06-29T18:53:59.383 回答
0

我假设您希望帮助窗口水平最大化。

抱歉,我无法重现您的错误(在 MacVim 7.4-258 和 vim 7.4-258 上尝试过),但这里有一些建议:

  1. 尝试在您的 augroup 脚本中更改wincmd _为。set winheight=9999
  2. 如何在新选项卡中打开帮助wincmd T
于 2014-06-29T14:46:59.667 回答
0

I think you can achieve your goal of getting your help buffers to be maximized more simply by putting the following in your .vimrc (or wherever), instead of the augroup/autocmd:

:set helpheight=9999
于 2015-07-11T02:33:31.230 回答
-1
|CTRL-W_o|      CTRL-W o           close all but current window (like |:only|)
于 2015-07-14T04:43:49.873 回答