Answers:
cnoremap help vert help
。这将创建一个命令模式映射,以便在键入help
命令模式时将看到它扩展为vert help
。
cnoremap help vert help
使每个字母单独help
出现,因此该单词help
不会出现在命令行上。有什么办法可以解决这个问题?也许除了cnoremap
?
h
为vert h
: :cabbrev h vert h
。然后,每次键入时:h
,它将自动扩展到:vert h
。
作为Haroogan和Sean答案的替代方法,您可以将FileType
事件用于自动命令,如下所示:
autocmd FileType help wincmd L
尽管这将更改任何帮助窗口的位置,并且如果您要查看的文件发生更改,则在手动放置帮助窗口后也将其移动。但是我认为这是任何解决方案的问题。
:vsplit
)会有很多反对!!
help,*
而不是简单的help
。另外,我注意到该命令在将其添加到我的计算机_vimrc
并启动GVim的新实例时有效,但是在我当前的GVim会话中运行该命令时却不起作用(我必须手动:set ft=help
触发autocmd)。
*
实际上并不需要。据我对当前会话与新会话的了解,在新会话中,您将需要重新获取资源vimrc
以使所有更改生效,此外,如果文件已经在缓冲区中打开并且:help
只是将您带到另一个会话文件的一部分,这autocmd
将无效
autocmd FileType help wincmd L
autocmd FileType h wincmd L
help
文件类型,因此,在此help
文件类型的设置下,此autocmd将运行。您可以通过:sef help
在窗口中有拆分的任何文件中进行测试,因此不需要@danbruegge的第二个autocmd
无需重新映射任何命令或引入诸如之类的怪异别名:Help
。这是解决方案。~/.vim/after/ftplugin/help.vim
在此处创建可以覆盖任何Vim设置的位置,help
并在其中添加以下行:
autocmd BufWinEnter <buffer> wincmd L
该挂钩将确保help
以垂直分割打开任何文件。此外,它没有肖恩的答案中所述的副作用。就我个人而言,到目前为止,这是完美的解决方案。
希望这可以帮助。祝你好运。
为了使帮助文件始终以右侧的垂直分隔打开,请将其放在vimrc中:
augroup helpfiles
au!
au BufRead,BufEnter */doc/* wincmd L
augroup END
这样做的副作用是,路径中带有“ doc”的任何内容都以垂直分割的形式打开,但这对您来说可能不是问题。不是给我的 如果您希望它以左垂直分割线或其他任何方式打开,则可以更改wincmd L
。您可以通过了解更多信息:he wincmd
:au BufEnter */doc/* if &filetype=='help' | wincmd L | endif
autocmd FileType help wincmd L
对我来说只有一次,这很好!
将以下内容放入您的 ~/.vim/ftplugin/help.vim
wincmd L
没有比这更简单的了:)
这将移动帮助窗口一次。因此,您可以在创建窗口后自由移动它。
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解决方案的副作用。