在垂直分割窗口中打开Vim帮助

Yew*_*wge 110 vim

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

m42*_*m42 120

:vertical(vert)有效:

:vert help
Run Code Online (Sandbox Code Playgroud)

您还可以使用topleft(to)botright(bo)控制窗口是在左/上还是右/下分割.例如,要在垂直拆分的右侧窗口中打开帮助:

:vert bo help
Run Code Online (Sandbox Code Playgroud)

  • @Tallboy尝试`cnoremap帮助vert帮助`.这将创建一个命令模式映射,这样当您在命令模式下键入`help`时,您将看到它扩展为`vert help`. (11认同)
  • 为了提高更多:你可以使用cabbrev来*redefine*`h`作为`vert h`:`:cabbrev h vert h`.然后每次输入`:h`时,它会自动扩展为`:vert h`. (7认同)
  • @Kazark:`cnoremap help vert help`使得'help`的每个字母单独显示,因此命令行中不出现"help"字样.有没有办法解决这个问题?也许除了`cnoremap`之外的东西? (3认同)
  • 我怎么能映射那样,当我运行时:help ____它总是这样打开? (2认同)

EdJ*_*Job 34

作为Haroogan和Sean的答案的替代方案,您可以将FileType事件用于自动命令,如下所示:

autocmd FileType help wincmd L
Run Code Online (Sandbox Code Playgroud)

虽然这会改变任何帮助窗口的位置,也可以在手动放置窗口后移动窗口,如果您正在查看的文件发生变化.但我相信这是任何解决方案的问题.

  • 很简单,而且(如果我理解正确的话)副作用可以忽略不计。为什么这不是公认的答案!?为什么一个完全不相关的答案(`:vsplit`)有很多支持!? (2认同)

Ale*_*aev 18

无需重新映射任何命令或引入奇怪的别名,如:Help.这是解决方案.创建~/.vim/after/ftplugin/help.vim可以覆盖任何Vim设置的位置,help并在其中添加以下行:

autocmd BufWinEnter <buffer> wincmd L
Run Code Online (Sandbox Code Playgroud)

此挂钩将确保help以垂直拆分方式打开任何文件.此外,它没有肖恩答案中描述的副作用.就个人而言,这对我来说是完美的解决方案.

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


Ber*_*mus 17

这个命令应该这样做:

:vert help
Run Code Online (Sandbox Code Playgroud)

  • 我不懂.所有`:vsplit`都垂直分割当前窗口.这如何在垂直窗格中打开帮助? (10认同)

Chr*_*ial 7

把它放在你的.vimrc:

command -nargs=* -complete=help Help vertical belowright help <args>
Run Code Online (Sandbox Code Playgroud)

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


Sea*_*sey 6

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

augroup helpfiles
  au!
  au BufRead,BufEnter */doc/* wincmd L
augroup END
Run Code Online (Sandbox Code Playgroud)

这将产生副作用,即在其垂直分割中打开路径中的"doc",但这对您来说可能不是问题.这不适合我.如果您希望它在左侧垂直分割或其他任何内容中打开,您可以更改wincmd L.您可以通过以下方式了解更多信息:he wincmd

  • 分割前检查文件类型, `:au BufEnter */doc/* if &amp;filetype=='help' | wincmd L | 结束` (3认同)

Shr*_*rat 6

将以下内容放入您的 ~/.vim/ftplugin/help.vim

wincmd L
Run Code Online (Sandbox Code Playgroud)

没有比这更简单的了:)