代码之家  ›  专栏  ›  技术社区  ›  Martín Fixman

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

  •  17
  • Martín Fixman  · 技术社区  · 15 年前

    我经常查看vim中的帮助文件,但有时我想全屏阅读。由于:help命令在新窗口中打开它,并关闭旧窗口,如果它是除帮助文件之外唯一的一个,出于某种原因关闭vim,我找到的唯一方法是打开帮助文件,然后在新选项卡中重新打开它。

    我想知道,是否有任何方法可以使:help命令(或另一个命令)在同一窗口中打开一个帮助文件,而只打开一个新的缓冲区?

    7 回复  |  直到 8 年前
        1
  •  24
  •   Curt Nelson    15 年前

    你可能在找 :only CTRL-W o (相同的命令)。这使当前窗口成为屏幕上唯一的窗口。所有其他窗户都关上了。

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

    :vert help {subject}
    

    顺便说一句, :help 实际上,它是在一个新的缓冲区中打开的,只是“未列出”。要列出所有缓冲区,包括未列出的缓冲区:

    :buffers!
    
        2
  •  17
  •   Shamaoke    11 年前

    如果我正确理解了这个问题,你所要做的就是把 帮助 命令调用 只有 命令:

    :help <subject> | only
    
        3
  •  7
  •   mASOUD    12 年前

    您可以打开一个新的选项卡以获取帮助 :tab help . 这将提供全屏幕帮助。还看 :help :tab .

        4
  •  7
  •   RubenLaguna    10 年前

    这个 :help 通常会打开一个新窗口 除非 活动窗口的缓冲区 buftype 已经 help . 因此,要真正重用窗口,必须在该窗口中打开一个新的空缓冲区 :enew 改变 蟾蜍型 具有 :set buftype=help 然后发布 :help <whatever> .

    为了方便起见,您可以在 .vimrc :

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

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

    使用这种方法,您可以真正地重用窗口,并允许您使用 C-^ 例如转到替代项。它还将尊重您的窗口布局(拆分窗口等)不同于其他答案。

        5
  •  3
  •   Greg Hewgill    15 年前

    你可以使用 :help 打开帮助窗口,然后 Ctrl+W γ 使该窗口全屏显示(大多数情况下,请参见 winminheight 选择权。

        6
  •  1
  •   Tim    12 年前

    我编写了一个自定义命令,使用大写字母h,如so(工作方式与: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
    

    真是魅力四射!

        7
  •  0
  •   T.Chmelevskij    8 年前

    要打开具有所需主题的完整大小的新选项卡,请执行以下操作:

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

    主题是任何有效的 :help 争论。

    要拆分当前窗口:

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