Ho diviso le finestre in orizzontale. Ora come posso tornare alla modalità normale, cioè nessuna finestra divisa solo una finestra senza cancellare tutte le mie finestre aperte. Ho 5 e non voglio "uscire", voglio solo uscire dalla finestra divisa.
Ho diviso le finestre in orizzontale. Ora come posso tornare alla modalità normale, cioè nessuna finestra divisa solo una finestra senza cancellare tutte le mie finestre aperte. Ho 5 e non voglio "uscire", voglio solo uscire dalla finestra divisa.
Risposte:
Premi Control+ w, quindi premi qper chiudere ciascuna finestra alla volta.
Aggiornamento : considera anche la risposta che potrebbe essere più utile per te, coinvolgendo :on
(leggi sotto) se non vuoi farlo una finestra alla volta.
hidden
sembra aiutare però. Tuttavia, ciò che intendevo era, come si aggiunge un! a una scorciatoia? È "Cw! Q", "Cw q!", "! Cw q", "C-! W q"? Penso che nessuno di questi, ma ho già dimenticato come creare nuovi buffer, quindi questo è un esercizio per il lettore.
Per chiudere tutti i gruppi, di solito posto il cursore nella finestra che deve essere su uno ly visibile e quindi eseguire :on
che rende la finestra corrente sulla finestra ly visibile. Bel mnemonico da ricordare.
Modifica: :help :on
mi ha mostrato che questi comandi sono gli stessi:
Ognuna di queste quattro chiude tutte le finestre tranne quella attiva.
:on
risponderà con E445: Other window contains changes
e non chiuderà l'altra finestra. Ad esempio, di solito creo una nuova finestra e leggo in essa un file da cui mi piacerebbe strappare. In questo caso, Vim considera le modifiche non scritte nell'altra finestra. In tal caso, utilizzare :on!
per forzare una chiusura.
per chiudere tutte le finestre ma quella corrente usa:
CTRL+ w,o
Cioè, prima CTRL+ we poi o.
CTRL+W o
accidentalmente una battitura.
Due alternative per chiudere la finestra corrente sono ZZ
e ZQ
, che, rispettivamente, salveranno e non salveranno le modifiche nel buffer visualizzato.
Z
perché sono tedesco. (Spoiler: layout della tastiera se si passa frequentemente tra le impostazioni DE / EN)
Il comando: nascondi nasconderà la finestra attualmente focalizzata. Penso che questa sia la funzionalità che stai cercando.
Per navigare tra le finestre digitare Ctrl + w seguito da un tasto di navigazione (h, j, k, l o tasti freccia)
Per ulteriori informazioni, eseguire :help window
e :help hide
in vim.
Da :help opening-window
(cerca "Chiusura di una finestra" - /Closing a window
)
:q[uit]
chiude la finestra e il buffer correnti. Se è l'ultima finestra, uscirà anche VIM:bd[elete]
scaricare il buffer corrente e chiudere la finestra corrente:qa[all]
o :quita[ll]
chiuderà tutti i buffer e le finestre e uscirà vim ( :qa!
per forzare senza salvare le modifiche):clo[se]
chiudere la finestra corrente ma mantenere aperto il buffer. Se c'è solo una finestra questo comando fallisce:hid[e]
nascondi il buffer nella finestra corrente (Leggi di più su :help hidden
):on[ly]
chiudere tutte le altre finestre ma lasciare aperti tutti i bufferHo scoperto che ctrl+ walla finestra che vuoi chiudere, quindi fai :q. Questo funziona per me.
^W^W:q
una possibile soluzione, quindi liberatevi di una scissione. Si noti che ^W to the window you want to close
apparentemente implica molteplici usi di ^W^W
per passare alla finestra che si desidera chiudere ..
Capisco bene le tue intenzioni, uso anche i buffer esclusivamente, e occasionalmente divido se necessario.
sotto è un estratto del mio .vimrc
" disable macro, since not used in 90+% use cases
map q <Nop>
" q, close/hide current window, or quit vim if no other window
nnoremap q :if winnr('$') > 1 \|hide\|else\|silent! exec 'q'\|endif<CR>
" qo, close all other window -- 'o' stands for 'only'
nnoremap qo :only<CR>
set hidden
set timeout
set timeoutlen=200 " let vim wait less for your typing!
Il che si adatta abbastanza bene al mio flusso di lavoro
Se è
q
stato premuto
- nascondi la finestra corrente se più finestre sono aperte, altrimenti prova a chiudere vim.
se è
qo
stato premuto,
- chiudi tutte le altre finestre, nessun effetto se solo una finestra.
Naturalmente, puoi avvolgere quella parte disordinata in una funzione , ad es
func! Hide_cur_window_or_quit_vim()
if winnr('$') > 1
hide
else
silent! exec 'q'
endif
endfunc
nnoremap q :call Hide_cur_window_or_quit_vim()<CR>
Sidenote : Ho rimappare q
, dal momento che non utilizzare macro per la modifica, invece usare :s
, :g
, :v
e comando esterno l'elaborazione del testo, se necessario, ad esempio, :'{,'}!awk 'some_programm'
o l'uso :norm! normal-command-here
.
Proprio come gli altri hanno detto prima che il modo per farlo è premere ctrl+ we poi o. Questo "massimizzerà" la finestra corrente, chiudendo le altre. Se vuoi essere in grado di "non-ingrandire", c'è un plugin chiamato ZoomWin per questo. Altrimenti dovresti ricreare la configurazione della finestra da zero.
Ok, mi sono appena staccato e ricollegato alla sessione dello schermo e sono tornato alla schermata normale che volevo
vim
la modalità finestra divisa, lascia solo la screen
modalità riquadro diviso - che può essere facilmente confusa, quindi forse anche altri. A proposito, trovo questa funzione dello schermo fastidiosa, quindi ora di default per tmux
consentire un riattacco con tutte le divisioni intatte.