2013-03-23 11 views
37

Io uso vim e di solito ho più di una finestra verticale/orizzontale aperta, di solito modificando i file di intestazione C++ insieme ai file cpp. Come posso rendere temporaneamente a pieno schermo la finestra su cui sto lavorando, modificare quello che voglio e quindi uscire a schermo intero?Come posso rendere temporaneamente attiva la finestra su cui sto lavorando?

Per fullscreen intendo solo la finestra di Vim, e non il mio schermo di visualizzazione totale.

risposta

16

Se ho capito cosa stai chiedendo, penso che troverai utile il plug-in ZoomWin (GitHub). Se hai un po 'di finestre divise e vuoi temporaneamente rendere la finestra corrente l'unica visibile, puoi premere <C-w>o. Quando si desidera ripristinare lo stato precedente di divisione, premere nuovamente <C-w>o.

[Edit] Nota sulla mappatura dei tasti:

L'impostazione predefinita mappatura dei tasti per questo plugin è <C-w>o, ma che i conflitti con Vim mappatura dei tasti predefinita. Per impostazione predefinita, ciò corrisponde a :only, che rende la finestra corrente l'unica finestra. Se desideri conservare tale funzionalità, puoi rimappare ZoomWin su un'altra chiave. Lo rimappo su <C-w>w, perché mi piace usare anche l'opzione :only. Ecco la mia mappatura:

nnoremap <silent> <C-w>w :ZoomWin<CR> 

Si noti che questo sostituisce anche una mappatura Vim di default, per trasferire ad altre finestre visibili (:help CTRL-W_w), ma non ho mai usato che uno comunque.

+7

Lo sto usando ora, quando premo o funziona ok, ma quando premo di nuovo o per ripristinare, viene visualizzato un messaggio che è aperta una sola finestra, e non fa più nulla –

+0

Scusa, non lo faccio ottenere quel problema Possibile che ci sia un conflitto con un altro plug-in o mappatura dei tasti che hai. Provalo in isolamento.Potrebbe anche esserci un problema con l'impostazione della modalità di compatibilità Vim (': help cpoptions'). Funziona bene per me in combinazione con molti altri plugin, però. –

+1

Mi sono appena reso conto che in realtà rimbalzo questa chiave, e ' o' senza che il plug-in faccia quello che descrivi nel tuo commento (io uso il predefinito' o' costantemente ma non stavo pensando). Sulla base del tuo commento, ho il sospetto che tu non abbia appena installato il plugin quando hai commentato. Dal momento che hai accettato, suppongo che tu abbia funzionato. Vedere la mia risposta sopra modificata per ulteriori informazioni. –

63

Ctrl + W_ ingrandisce verticalmente una finestra.

Ctrl + W| ingrandirà una finestra orizzontalmente.

Per quanto io sappia, non v'è alcun modo per ripristinare il layout precedente dopo queste azioni, ma Ctrl + W= ridimensionerà tutte le finestre per uguali dimensioni.

+7

Grazie. Questo è bello perché non richiede un plugin. –

+0

Questo è meraviglioso! Grazie! – Tombert

36

Un'opzione potrebbe essere quella di proseguire con la modifica in una nuova scheda. Il seguente comando apre il buffer attivo in una nuova scheda che consente di vedere il buffer nella finestra del foro vim.

:tab split 

e chiudere la scheda quando hai finito:

:tabc 

Edit:

È sempre possibile utilizzare il seguente comando per utilizzare tt come scorciatoia (o meglio aggiungerlo al .vimrc):

:noremap tt :tab split<CR> 

e vicino è quando il gioco è fatto:

:wq 
+0

È un buon trucco :) –

+1

Questo è davvero ottimo perché non è necessario un plug-in. Appena testato e funziona benissimo! Aggiungendo al mio .vimrc :) – jsdevel

+0

Whoa, c'è un modo per rendere questo un interruttore? Sarebbe molto carino! –

4

ctrl-w_ - massimizzare la finestra corrente

speranza che questo ti aiuta.:)

E questi sono i alcuni dei comandi utili con può essere implementato usando l'editor VIM

: e il nome del file-modificare un altro file

: split filename-finestra divisa e carica un altro file

ctrl-w su freccia - muovere il cursore in una finestra

ctrl-w ctrl-w - spostare cursore in un'altra finestra (ciclo)

Ctrl-w = - fare tutto il formato uguale

10 ctrl-w + - aumentare la dimensione della finestra di 10 righe

: file di vsplit-spaccatura verticale

: file di sview-stessa divisa, ma in sola lettura

: nascondere-stretta finestra corrente

: solo - mantenere solo questa finestra aperta

: ls-mostrano buffer attuali

: b 2-tampone aperto # 2 di questa finestra

0

un plugin impressionante per le finestre girevoli fullscreen è vim-maximizer.

Dopo l'installazione, è possibile utilizzare semplicemente <F3> (collegamento predefinito) per attivare la modalità a schermo intero nella finestra.

È inoltre possibile personalizzare i tasti di scelta rapida, ad esempio se si desidera utilizzare <C-w> z (simile a tmux scorciatoia):

nnoremap <silent><C-w>z :MaximizerToggle<CR> 
vnoremap <silent><C-w>z :MaximizerToggle<CR>gv 
inoremap <silent><C-w>z <C-o>:MaximizerToggle<CR> 
Problemi correlati