2

我这样做是为了在垂直窗口中打开帮助页面:

cabbrev help vert botright help

这种方式,没关系,但有点令人不安,而且它也:history有点垃圾邮件。我想让 Vim 不扩展它,只需运行命令。因此,当我编写时,:help topic我希望它不要扩展,而是运行:vert botright help topic 我尝试使用的命令

cabbrev <silent> help vert botright help

但它不起作用。

有可能做吗?

4

3 回答 3

6

我根据这封电子邮件找到了完美的解决方案:http: //vim.1045645.n5.nabble.com/Horizo​​ntal-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

获取帮助窗口卸载,无论如何这是默认行为。

于 2011-09-19T09:31:37.857 回答
2

它只会在您按下另一个键Space展开(例如)

也许你能做到

cabbrev <silent> he vert botright help

然后养成快速说:heSpaceEnter或确实的习惯

:he topic

然后将扩展为完整的命令

编辑

如果您根本不想要扩展,我建议使用自定义命令:

:command! Help vert botright help
于 2011-09-18T18:40:25.423 回答
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
于 2014-08-04T17:25:08.943 回答