我这样做是为了在垂直窗口打开帮助页面:
cabbrev help vert botright help
这样,没关系,但有点令人不安,而且我的:history
也有点垃圾邮件。
我想让Vim不扩展它,只需运行命令。所以当我写:help topic
时,我希望它不会展开,而是运行命令:vert botright help topic
我试过
cabbrev <silent> help vert botright help
但它不起作用。
可以做到吗?
答案 0 :(得分:5)
我找到了基于此电子邮件的完美解决方案:
http://vim.1045645.n5.nabble.com/Horizontal-layout-by-default-td1164876.html#a1164886
因此,如果您需要右侧的帮助窗口,请执行以下操作:
autocmd FileType help :wincmd H
这会将'help'
类型窗口立即置于右侧,就像CTRL-W H
一样。请参阅vim中的:h CTRL-W_H
如果启用了hidden
选项,只需用:q
关闭窗口,那么它的小问题就是不会卸载帮助窗口缓冲区,如果要再次打开它,它将不会触发FileType事件由于某种原因(为什么?),所以如果你使用:set hidden
,你需要:
autocmd FileType help set bufhidden=unload
获取帮助窗口卸载,这是默认行为。
答案 1 :(得分:2)
只有在按下其他键后才会展开(例如 Space )
也许你可以成功
cabbrev <silent> he vert botright help
然后养成快速说:he
空间 输入或确实
:he topic
然后将扩展为完整命令
如果您根本不想要扩展,我建议使用自定义命令:
:command! Help vert botright help
答案 2 :(得分:0)
虽然你的答案可以在同一个窗口看到两个帮助主题(例如::h bar | h foo
),但在不同的窗口上看到两个条目(例如:h foo | sp | wincmd w | h bar
)是不理想的,因为它执行还会在第二个窗口上执行wincmd
,从而留下三个垂直窗口,即使您的显示器只能显示两个80列窗口。
只有在有空间进行其他垂直拆分时,才会将以下行添加到~/.vim/ftplugin/help.vim
执行wincmd
。
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
if min(map(range(winnr('$')), 'winwidth(v:val)')) > 160
wincmd L
endif