如何在现有窗口中的新缓冲区中打开Vim中的帮助文件?

时间:2010-06-29 02:33:57

标签: vim window buffer

我经常看看Vim中的帮助文件,但有时我想全屏阅读。由于:help命令在新窗口中打开,并关闭旧窗口,如果它是帮助文件中唯一的一个,由于某种原因关闭Vim,我发现这样做的唯一方法是打开帮助文件,然后在新标签中重新打开它。

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

8 个答案:

答案 0 :(得分:24)

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

您还可以使用以下方法垂直拆分帮助窗口:

:vert help {subject}

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

:buffers!

答案 1 :(得分:17)

如果我正确理解了这个问题,您只需要使用 only 命令链接 help 命令:

:help <subject> | only

答案 2 :(得分:7)

您可以打开新标签页以获取有关:tab help的帮助。这将为您提供全屏帮助。另请查看:help :tab

答案 3 :(得分:7)

: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-^转到备用窗口。与其他答案不同,它也会尊重您的窗口布局(分割窗口等)。

答案 4 :(得分:3)

您可以使用:help打开帮助窗口,然后使用 Ctrl + W _ 使该窗口全屏(大多数情况下,请参阅{{1选项)。

答案 5 :(得分:1)

我使用大写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 :(得分:1)

要打开包含所需主题的全尺寸新标签页:

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

主题是任何有效的:help参数。

拆分当前窗口:

:vert help {subject}
:vert h {subject}

答案 7 :(得分:1)

@Shamaoke的答案的更一般的变体是在一个完整的窗口中打开主帮助菜单。

:help | only