我这样做是为了在垂直窗口中打开帮助页面:
cabbrev help vert botright help
这种方式,没关系,但有点令人不安,而且它也:history
有点垃圾邮件。我想让 Vim 不扩展它,只需运行命令。因此,当我编写时,:help topic
我希望它不要扩展,而是运行:vert botright help topic
我尝试使用的命令
cabbrev <silent> help vert botright help
但它不起作用。
有可能做吗?
我根据这封电子邮件找到了完美的解决方案:http:
//vim.1045645.n5.nabble.com/Horizontal-layout-by-default- td1164876.html#a1164886
所以如果你想要右边的帮助窗口,做这:
autocmd FileType help :wincmd H
这会将'help'
类型窗口立即放在右侧,就像CTRL-W H
. :h CTRL-W_H
在 vim 中查看。
如果您hidden
启用了该选项,它的小问题,只是关闭窗口:q
不会卸载帮助窗口缓冲区,如果您想再次打开它,它不会因某种原因触发 FileType 事件(为什么?),所以如果你使用:set hidden
你需要:
autocmd FileType help set bufhidden=unload
获取帮助窗口卸载,无论如何这是默认行为。
它只会在您按下另一个键后Space展开(例如)
也许你能做到
cabbrev <silent> he vert botright help
然后养成快速说:he
SpaceEnter或确实的习惯
:he topic
然后将扩展为完整的命令
如果您根本不想要扩展,我建议使用自定义命令:
:command! Help vert botright help
尽管您的答案可以在同一个窗口上查看两个帮助主题(例如:):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