有没有办法让Vim帮助在垂直分割窗格而不是水平分割窗格中打开?
答案 0 :(得分:116)
答案 1 :(得分:30)
作为Haroogan和Sean的答案的替代方案,您可以使用FileType
事件进行自动命令,如下所示:
autocmd FileType help wincmd L
虽然这会改变任何帮助窗口的位置,但如果您正在查看的文件发生变化,则会在手动放置窗口后移动窗口。但我相信这是任何解决方案的问题。
答案 2 :(得分:17)
此命令应该这样做:
:vert help
答案 3 :(得分:17)
无需重新映射任何命令或引入奇怪的别名,如:Help
。这是解决方案。创建~/.vim/after/ftplugin/help.vim
,您可以覆盖任何Vim设置,特别是help
,并在那里添加以下行:
autocmd BufWinEnter <buffer> wincmd L
此挂钩将确保在垂直拆分中打开任何help
文件。此外,它没有肖恩答案中描述的副作用。就个人而言,到目前为止,这对我来说是完美的解决方案。
希望这会有所帮助。祝你好运。
答案 4 :(得分:7)
将其放入.vimrc
:
command -nargs=* -complete=help Help vertical belowright help <args>
现在您可以使用:Help
命令打开垂直帮助(注意第一个字母是大写的)
答案 5 :(得分:6)
要使帮助文件始终以右侧的垂直分割方式打开,请将其放在vimrc中:
augroup helpfiles
au!
au BufRead,BufEnter */doc/* wincmd L
augroup END
这会产生副作用,即在其垂直分割中打开路径中的“doc”,但这对您来说可能不是问题。这不适合我。如果您希望在左侧垂直拆分或其他任何内容中打开它,则可以更改wincmd L
。您可以使用:he wincmd
答案 6 :(得分:5)
将以下内容放入~/.vim/ftplugin/help.vim
wincmd L
不能比这简单:)
答案 7 :(得分:2)
这会移动帮助窗口一次。因此,您可以在创建窗口后自由移动它。
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解决方案的副作用。
答案 8 :(得分:1)
这是为了添加到@ m42的答案,但我还没有50个代表在这里添加到评论中。
将nnoremap <C-H> :vert bo help
添加到.vimrc
现在在正常模式下按Ctrl-H将跳转到命令模式,前缀为在右侧垂直分割窗口中打开帮助。
在配置行末尾的help·
&lt; - 后面加一个尾随空格,以获得最佳结果。
此映射允许您仍然使用:help
\ :h
打开水平拆分窗口或循环显示之前的帮助命令历史记录,而不会显示自动扩展。
答案 9 :(得分:0)
如果当前选项卡中有多个窗口,则动态地在顶部打开帮助窗口;如果只有一个窗口,则在右侧动态打开帮助窗口:
if winnr('$') > 2
wincmd K
else
wincmd L
endif
您需要将其放置在ftplugin/help.vim
或与autocmd
一起使用,例如:
augroup my_filetype_settings
autocmd!
autocmd FileType help if winnr('$') > 2 | wincmd K | else | wincmd L | endif
augroup END