2010-06-29 16 views
16

Ich schaue mir oft Hilfedateien in Vim an, aber manchmal möchte ich eine im Vollbild lesen. Da der Befehl: help den Befehl in einem neuen Fenster öffnet und das alte Fenster schließt, wenn es der einzige neben der Hilfedatei ist, der Vim aus irgendeinem Grund schließt, war die einzige Möglichkeit, dies zu tun, das Öffnen der Hilfedatei. und dann öffne es in einem neuen Tab.Wie kann ich eine Hilfedatei in Vim in einem neuen Puffer in einem vorhandenen Fenster öffnen?

Ich fragte mich, gibt es eine Möglichkeit, den Befehl: help (oder einen anderen Befehl), um eine Hilfedatei im selben Fenster zu öffnen, aber einen neuen Puffer?

Antwort

22

Sie könnten nach :only oder CTRL-W o (der gleiche Befehl) suchen. Dies macht das aktuelle Fenster zum einzigen auf dem Bildschirm. Alle anderen Fenster sind geschlossen.

Sie können auch vertikal geteilt das Hilfefenster mit:

:vert help {subject} 

BTW, :help tut tatsächlich öffnet in einem neuen Puffer, es ist nur „nicht angeführt sind“. Um alle Puffer Liste, einschließlich der nicht notierten diejenigen:

:buffers! 
3

Sie können :help verwenden Sie das Hilfefenster zu öffnen, dann Strg + W_ auf das Fenster Vollbild zu machen (meistens finden Sie in der winminheight Option).

+0

Wow, ich hatte keine Ahnung, dass Sie winminheight = 0 für das Verstecken eines Fensters einstellen könnte! Während es ein großer Trick ist, wird es * immer noch * eine kleine Bar mit dem Titel des alten Fensters, deshalb meine Frage war über das Öffnen eines neuen Puffers: P –

15

Wenn ich die Frage richtig verstanden habe, alles, was Sie tun müssen, ist an die Kette der Hilfe Befehlsaufruf mit dem nur Befehl:

 
:help <subject> | only 
7

Sie können eine neue Registerkarte für Hilfe mit :tab help öffnen. Dadurch erhalten Sie eine Vollbildhilfe. Siehe auch :help :tab.

+2

Eine andere Option ist als nachdenkliches, geöffnetes Fenster in Neuer Tab, 'Strg-W T'. –

1

Ich schrieb einen benutzerdefinierten Befehl H unter Verwendung von Kapital wie so (funktioniert genau wie: h, außer dass es das gesamte Fenster verwendet):

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 

wirkt wie ein Zauber!

6

Die :help öffnet sich in der Regel um ein neues Fenster es sei denn, den Puffer des aktiven Fensters buftype bereits help. Um also ein Fenster wirklich zu verwenden, müssen Sie einen neuen leeren Puffer in diesem Fenster mit :enew öffnen, das buftype mit :set buftype=help ändern und dann das :help <whatever> ausgeben.

Der Einfachheit halber können Sie einen Befehl definieren, das zu tun in Ihrem .vimrc:

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

Und dann :H {subject} aus jedem Fenster verwenden.

Mit dieser Methode können Sie das Fenster wirklich wiederverwenden und damit können Sie C-^ verwenden, um zum Beispiel die Alternative zu wechseln. Es wird auch Ihr Fensterlayout respektieren (geteilte Fenster usw.), im Gegensatz zu den anderen Antworten.

+0

Damit 'C- ^' funktioniert, müssen Sie 'keepalt' vor': h ' –

0

Um ein volle Größe neue Registerkarte mit dem gewünschten Thema zu öffnen:

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

Gegenstand ist ein gültiges :help Argument.

das aktuelle Fenster aufgeteilt:

:vert help {subject} 
:vert h {subject} 
Verwandte Themen