打开Vim帮助在一个垂直分裂的窗口
有没有办法让Vim帮助打开一个垂直分割的窗格而不是一个水平的窗格?
:vertical
( vert
)工作:
:vert help
您还可以控制窗口是左侧/上侧还是右侧/下方topleft
( to
)和botright
( bo
) 。 例如,要在垂直分割的右侧窗口中打开帮助,请执行以下操作:
: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
来打开一个水平分割的窗口,或者循环你以前的帮助命令历史,而不用提示自动扩展。