我通常在下拉式终端中工作,高度大约为25个字符。由于我比Windows1更喜欢制表符,因此通常会浪费很多水平空间-大约是终端宽度的一半。

最重要的是,在打开帮助窗口时,Vim的默认设置为helpheight,仅留下了几行文件内容:



有没有办法使:h使用垂直分割?

我可以:


减小helpheight

/>使用<C-W>L手动移动窗口
制作地图或自定义命令来为我完成以上操作。

有没有更简单的方法?

1I当我需要一起查看多个文件时,请使用Windows。但是通常我希望每个文件都在其自己的(心理)上下文中。

评论

@statox对此感到抱歉。邓诺(Dunno)写这本书时在想什么。

啊,不必后悔,最好的也发生这种情况;-)

SO上的相同问题:stackoverflow.com/questions/630884/…

#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 \ T”

–马克·尼科尔斯(Mark Nichols)
18年3月19日在13:08