Vim finestre multiple / nascondi


9

Se avessi x o più finestre aperte in una sessione VIM e volessi nascondere rapidamente tutto tranne quello attivo per un momento, quindi restituire le finestre al layout in cui le avevo int come farei?


Il plugin zoomwin fa questo.
Stabledog,

Risposte:


8

In Vim 7 e versioni successive, è possibile utilizzare una "scheda" per questo (cioè scheda "stile GUI"). È possibile utilizzare il :tabcomando con uno :splito :sbuffer:

:tab split
:tab sp      " shorter version

:tab sbuffer
:tab sb      " shorter version

Entrambi splite sbufferfanno quasi la stessa cosa se usati senza argomenti aggiuntivi (dividi il buffer corrente). Probabilmente vorrai utilizzarlo splitse prevedi di voler caricare un nome di percorso (possibilmente non già caricato) ( split path/to/some/file; anche se potresti :tabeinvece usarlo perché è nel contesto dell'apertura di una nuova scheda); sbuffersemplifica il passaggio a un buffer esistente ( sb {bufnum}o sb {bufname}).

Dopo aver aperto la nuova scheda, è possibile utilizzare gTe gtpassare da una delle schede risultanti (o ai controlli della GUI se si utilizza una versione GUI di Vim). Quando hai finito con la tua scheda a finestra singola, basta :qchiudere la finestra (e quindi la scheda) e tornare alla scheda originale (con il layout della finestra originale), oppure utilizzare :tabclose( :tabc), oppure tornare alla scheda originale e utilizzare :tabonly( :tabo).


10

Uso CTRL-W _ per "spingere" orizzontalmente le altre finestre fuori strada facendo espandere la finestra corrente nell'area più grande disponibile. Utilizzare CTRL-W | fare lo stesso in verticale. Sono sicuro che probabilmente c'è un modo per fare entrambe le cose contemporaneamente, ma non l'ho notato o cercato. Cerca in: aiuto CTRL-W

Per ripristinarli, fai CTRL-W =. Un avvertimento però è che non sono ripristinati alla loro configurazione originale. CTRL-W = ricalcola effettivamente la misura migliore per tutte le finestre dello schermo.


Verifica di essere un trucco accurato da implementare.
MagoProspero,

7

Per quanto ne so, non c'è modo di passare semplicemente tra due diversi layout di finestra, ma è possibile nascondere tutte le altre finestre emettendo il comando :only(o :on). Vedere la guida di Vim per questo comando .


2
Non è possibile tornare al layout precedente con questo. La risposta di Chris Johnsen ci consente anche di farlo.
Phani,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.