打开Vim帮助在一个垂直分裂的窗口

有没有办法让Vim帮助打开一个垂直分割的窗格而不是一个水平的窗格?

:verticalvert )工作:

 :vert help 

您还可以控制窗口是左侧/上侧还是右侧/下方topleftto )和botrightbo ) 。 例如,要在垂直分割的右侧窗口中打开帮助,请执行以下操作:

 :vert bo help 

作为Haroogan和Sean的答案的替代,你可以像这样使用FileType事件作为自动命令:

 autocmd FileType help wincmd L 

虽然这将改变任何帮助窗口的位置,并且如果您正在查看的文件发生更改,则在手动放置窗口之后移动窗口。 但我相信这是任何解决scheme的问题。

这个命令应该这样做:

 :vert help 

不需要重新映射任何命令或引入奇怪的别名,如:Help 。 这是解决scheme。 创build~/.vim/after/ftplugin/help.vim ,您可以在其中重写任何Vim设置,特别是help并在其中添加以下行:

 autocmd BufWinEnter <buffer> wincmd L 

这个挂钩将确保任何help文件在垂直分割中打开。 此外,肖恩的答案中没有描述副作用。 就个人而言,这是迄今为止我完美的解决scheme。

希望这可以帮助。 祝你好运。

把它放在你的.vimrc

 command -nargs=* -complete=help Help vertical belowright help <args> 

现在你可以使用:Help命令打开一个垂直帮助(注意第一个字母是大写的)

要使帮助文件始终在右侧的垂直分割中打开,请将其放在vimrc中:

 augroup helpfiles au! au BufRead,BufEnter */doc/* wincmd L augroup END 

这将有一个副作用,就是在“垂直分割”中打开“doc”的path,但这对您来说可能不是问题。 这不适合我。 如果你宁愿打开一个左垂直分割,或者其他任何事情,你可以改变wincmd L 您可以通过以下方式了解更多信息:he wincmd

这会移动帮助窗口一次 。 所以你可以在窗口创build后自由移动它。

 if has('autocmd') function! ILikeHelpToTheRight() if !exists('w:help_is_moved') || w:help_is_moved != "right" wincmd L let w:help_is_moved = "right" endif endfunction augroup HelpPages autocmd FileType help nested call ILikeHelpToTheRight() augroup END endif 

函数ILikeHelpToTheRight()只能在每个窗口运行wincmd L (这是w:前缀的用途)。

然后在打开“帮助”文件时调用它。 这没有EdJoJob解决scheme的副作用。

将以下内容放在~/.vim/ftplugin/help.vim

 wincmd L 

不能变得比这更简单:)

这是为了增加@ m42的答案,但我没有50代表在这里适当添加到评论。

添加nnoremap <CH> :vert bo help .vimrc

现在在正常模式下按Ctrl-H将跳转到命令模式,在前面的垂直分割窗口右侧打开帮助。 在help·后包含一个尾部空格help· < – 在configuration行结尾以获得最佳结果。

这个映射允许你仍然使用:help \ :h来打开一个水平分割的窗口,或者循环你以前的帮助命令历史,而不用提示自动扩展。