2010-06-29 21 views
16

我经常看看Vim中的帮助文件,但有时我想全屏阅读。由于:help命令会在新窗口中打开它,并关闭旧窗口,如果它是除帮助文件以外的唯一一个窗口,出于某种原因关闭Vim,我发现这样做的唯一方法是打开帮助文件,然后在新选项卡中重新打开它。如何在现有窗口中的新缓冲区中打开Vim中的帮助文件?

我想知道,有没有什么办法可以让help命令(或另一个命令)在同一个窗口中打开帮助文件,但有一个新的缓冲区?

回答

22

您可能正在寻找:onlyCTRL-W o(相同的命令)。这使当前窗口成为屏幕上唯一的窗口。所有其他窗口关闭。

您还可以垂直拆分帮助窗口:

:vert help {subject} 

BTW,:help实际上在新的缓冲区不开放的,它只是“不公开”。要列出所有的缓冲区,包括未上市的:

:buffers! 
3

您可以使用:help打开帮助窗口,然后按Ctrl + W_使该窗口全屏(主要是见winminheight选项)。

+0

哇,我不知道,你可以设置winminheight = 0隐藏窗口! 尽管它是一个很棒的技巧,但仍然会有一个带有旧窗口标题的小栏,这就是为什么我的问题是关于打开一个新的缓冲区:P – 2010-06-29 03:14:02

15

如果我理解正确的问题,所有你需要做的是连锁帮助命令调用与只有命令:

 
:help <subject> | only 
7

您可以通过:tab help打开一个新选项卡来寻求帮助。这将为您提供全屏帮助。也看看:help :tab

+2

另一个选择是后想,打开当前窗口新标签,“Ctrl-W T”。 – 2014-07-30 20:18:24

1

我用大写的H像这样(:H,但它使用整个窗口的工作原理完全一样):写了一个自定义命令

command! -nargs=1 -complete=help H call HelpFullScreen(<f-args>) 

function! HelpFullScreen(topic) 
    exe "h " . a:topic 
    wincmd j 
    try 
     clo 
    catch /^Vim(\a\+):E444:/ " can't close last window 
    endtry 
endfunction 

就像一个魅力!

6

:help通常会打开一个新窗口除非活动窗口的缓冲区buftype已经help。因此,要真正重用一个窗口,您必须在该窗口中打开一个新的空缓冲区,并使用:enew,将buftype更改为:set buftype=help,然后发出:help <whatever>

为了方便,你可以定义一个命令做,在你的.vimrc

command! -nargs=1 -complete=help H :enew | :set buftype=help | :h <args> 

然后用:H {subject}从任何窗口。

使用此方法,您可以真正重复使用该窗口,并允许您使用C-^转到备用项目。它也会尊重你的窗口布局(拆分窗口等),不像其他答案。

+0

为了让'C- ^'工作,您需要在':h ' – 2017-07-03 15:24:01

0

要打开全尺寸的新标签与所需的主题:

:tab help {subject} 
:tab h {subject} 

主题是任何有效的:help说法。

分割当前窗口:

:vert help {subject} 
:vert h {subject} 
相关问题