最重要的是,在打开帮助窗口时,Vim的默认设置为
helpheight
,仅留下了几行文件内容:有没有办法使
:h
使用垂直分割?我可以:
减小
helpheight
/>使用
<C-W>L
手动移动窗口制作地图或自定义命令来为我完成以上操作。
有没有更简单的方法?
1I当我需要一起查看多个文件时,请使用Windows。但是通常我希望每个文件都在其自己的(心理)上下文中。
#1 楼
您可以使用:vert h [your topic]
垂直打开帮助。您可以使用以下命令:
cnoreabbrev H vert h
要使vim用以下命令自动将
H
替换为vert h
命令行。也可以使用以下缩写:
cnoreabbrev HR vert bo h
打开屏幕右侧的帮助窗口。 (有关
:h :botright
的更多详细信息,请参见bo
)评论
那么,没有可配置的选项吗?像splitright这样的:help吗?
–大师
15年8月22日在19:31
我不确定您的意思,您希望能够选择将帮助窗口放置在何处?
–statox♦
15年8月22日在19:35
我认为您的意思是:rightbelow而不是:botright。
–大师
15年8月22日在21:26
好吧,这取决于您期望的行为,让我们说您应该玩:lefta [bove] 、: rightb [elow] 、: to [pleft]和:bo [tright],然后看看您喜欢哪一种。我更喜欢:botright而不是:rightbelow,因为无论我的布局是什么,我都会得到一个全屏高度的帮助窗口。使用:rightbelow是我已经有一个水平拆分了,我的帮助窗口将达到此拆分的高度。
–statox♦
15年8月22日在22:01
可悲的是,编写正确的cabbrev命令涉及一些仪式。
–佐藤桂
2015年8月23日在11:21
#2 楼
这是从junegunn的vimrc受到启发的:augroup vimrc_help
autocmd!
autocmd BufEnter *.txt if &buftype == 'help' | wincmd L | endif
augroup END
评论
我很好奇:这与autocmd FileType帮助wincmd L有何不同?有边缘情况吗?
–大师
15年8月22日在21:28
我认为至少两次触发了两次(尝试在其中添加回声)。这可能与打开帮助窗口有关,而不是转到特定的帮助标签。因此,BufEnter的效率会更高。更不用说添加一个命令,该命令在触发两次后将变为“撤消”(取消自身)。
– VanLaser
15年8月22日在21:34
#3 楼
您可以使用自定义命令为您进行垂直或不垂直选择。这可以基于当前窗口的宽度和高度:function! s:ShowHelp(tag) abort
if winheight('%') < winwidth('%')
execute 'vertical help '.a:tag
else
execute 'help '.a:tag
endif
endfunction
command! -nargs=1 H call s:ShowHelp(<f-args>)
参考文献: br />
评论
优秀的。当我打开gvim覆盖屏幕的垂直一半时,这将非常有用。
–大师
15年8月22日在22:11
#4 楼
虽然这不是纵向拆分,但我发现在其自己的选项卡中提供帮助非常好。augroup HelpInTabs
autocmd!
autocmd BufEnter *.txt call HelpInNewTab()
augroup END
。我以为我已经粘贴了整个答案。这是其余的代码。
" only apply to help files...
function! HelpInNewTab ()
if &buftype == 'help'
" convert help window to a tab
execute "normal \<C-W>T"
endif
endfunction
评论
同时显示什么是HelpInNewTab()函数是一个好主意,因为我认为这不是内置功能,因此我们无法真正测试您的解决方案。
–statox♦
15年8月22日在20:41
“仅适用于帮助文件...函数!HelpInNewTab()如果&buftype =='help'”将帮助窗口转换为选项卡,执行endif endfunction“ normal \
–马克·尼科尔斯(Mark Nichols)
18年3月19日在13:08
评论
@statox对此感到抱歉。邓诺(Dunno)写这本书时在想什么。啊,不必后悔,最好的也发生这种情况;-)
SO上的相同问题:stackoverflow.com/questions/630884/…