risposta-alla-domanda-sullo-sviluppo-web-bd.com

Come posso uscire dall'editor Vim?

Sono bloccato e non posso scappare. Dice:

"type :quit<Enter> to quit VIM"

Ma quando scrivo, appare semplicemente nel corpo dell'oggetto.

3294
jclancy

Colpire il Esc tasto per accedere alla "Modalità normale". Quindi puoi digitare : per entrare in "modalità riga di comando". I due punti (:) appariranno nella parte inferiore dello schermo e puoi digitare uno dei seguenti comandi. Per eseguire un comando, premere il tasto Enter chiave.

  • :q per uscire (abbreviazione di :quit)
  • :q! per uscire senza salvare (abbreviazione di :quit!)
  • :wq per scrivere e uscire
  • :wq! per scrivere e chiudere anche se il file ha solo permesso di lettura (se il file non ha permessi di scrittura: force write)
  • :x per scrivere e uscire (simile a :wq, ma solo scrivere se ci sono cambiamenti)
  • :exit per scrivere e uscire (uguale a :x)
  • :qa per uscire da tutti (abbreviazione di :quitall)
  • :cq per uscire senza salvare e fare in modo che Vim restituisca un errore diverso da zero (ad es. esci con errore)

Puoi anche uscire da Vim direttamente dalla "Modalità normale" digitando ZZ per salvare e uscire (come :x) o ZQ per uscire (come :q!). (Si noti che caso è importante qui. ZZ e zz non significano la stessa cosa.)

Vim ha un ampio aiuto - che puoi accedere con il comando :help - dove puoi trovare le risposte a tutte le tue domande e un tutorial per principianti.

4468
dirvine

Prima di inserire un comando, premi il tasto Esc tasto . Dopo averlo inserito, premi il tasto Return per confermare.

Esc termina il comando corrente e passa Vim a modalità normale . Ora se premi :, il : apparirà al in basso dello schermo. Ciò conferma che stai effettivamente digitando un comando e non modificando il file.

La maggior parte dei comandi ha delle abbreviazioni, con la parte opzionale racchiusa tra parentesi: c[ommand].

I comandi contrassegnati con '*' sono solo Vim (non implementati in Vi).

Safe-quit (fallisce se ci sono modifiche non salvate):

  • :q[uit] Esci dall'attuale finestra . Esci da Vim se questa è l'ultima finestra. Questo fallisce quando le modifiche sono state apportate in corrente buffer .
  • :qa[ll] * Chiudi tutte le finestre e Vim, a meno che non ci siano alcuni buffer che sono stati modificati.

Prompt-quit (richiede se ci sono modifiche non salvate)

  • :conf[irm] q[uit] * Esci, ma dai il prompt quando ci sono dei buffer che sono stati modificati.
  • :conf[irm] xa[ll] * Scrivi tutti i buffer modificati e esce da Vim. Visualizza un prompt quando alcuni buffer non possono essere scritti.

Scrivi (salva) le modifiche ed esci:

  • :wq Scrive il file corrente (anche se non è stato modificato) ed esce. La scrittura non riesce quando il file è di sola lettura o il buffer non ha un nome. :wqa[ll] * per tutte le finestre.
  • :wq! Lo stesso, ma scrive anche i file di sola lettura. :wqa[ll]! * per tutte le finestre.
  • :x[it], ZZ (con dettagli ). Scrivi solo il file se è stato modificato e chiudi, :xa[ll] * per tutte le finestre.

Annulla le modifiche ed esci:

  • :q[uit]!ZQ * Esci senza scrivere, anche quando i buffer visibili hanno delle modifiche. Non esce quando vengono modificati i buffer nascosti.
  • :qa[ll]! *, :quita[ll][!] * Esci da Vim, tutte le modifiche ai buffer (incluso nascosto) vanno perse.

Premere Return per confermare il comando.

Questa risposta non fa riferimento a tutti i comandi Vim e chiude comandi e argomenti. In effetti, essi sono referenziati in documentazione di Vim .

Vim ha un ampio aiuto integrato, tipo Esc:helpReturn per aprirlo.

Questa risposta è stata ispirata da altro , originariamente creato da @dirvine e modificato da altri utenti SO. Ho incluso più informazioni dal riferimento Vim, SO commenti e altre fonti. Anche le differenze per Vi e Vim sono riflesse.

159
Nick Volynkin

Le immagini valgono più di mille comandi e opzioni Unix:

Enter image description here

Attingo questo ai miei studenti ogni semestre e sembrano cogliere vi dopo.

vi è un macchina a stati finiti con solo tre stati.

All'avvio, vi entra in modalità COMMAND, dove è possibile digitare brevi, pochi comandi di carattere, alla cieca . Sai cosa stai facendo; questo non è per i dilettanti.

Quando vuoi veramente modificare il testo, devi andare in modalità INSERT con un comando di un solo carattere:

  • i: andare su INSERISCI al posto del cursore
  • I: andare in modalità INSERT all'inizio della riga
  • a: append after il cursore
  • A: append alla fine della riga
  • o: open una nuova riga sotto la riga corrente
  • O: open una nuova riga al posto della riga corrente

Ora, rispondendo alla domanda: uscendo.

È possibile uscire da vi dalla modalità EX:

  • q: se non hai apportato modifiche o salvato prima
  • q !: ignora qualsiasi modifica e quit
  • wq: salva e chiudi
  • x: questo è uguale a wq

w e x accettano un parametro per il nome del file. Se hai avviato vi con un nome file, non devi darlo di nuovo qui.

Alla fine, il più importante: come puoi raggiungere la modalità EX?

La modalità EX è per i comandi lunghi che puoi vedere digitando nella riga inferiore dello schermo. Dalla modalità COMMAND, premi i due punti, :, e i due punti appariranno nella riga inferiore, dove puoi digitare i comandi sopra.

Dalla modalità INSERT, è necessario premere ESC, cioè il pulsante Esc, andando in modalità COMMAND, quindi: per passare alla modalità EX.

Se non sei sicuro, premi ESC e questo ti porterà in modalità comando.

Quindi, il metodo robusto è ESC -: - x-Enter che salva il file e si chiude.

135
Gergely

Se si desidera uscire senza salvare in Vim e avere Vim restituire un codice di uscita diverso da zero, è possibile utilizzare :cq.

Lo uso sempre perché non posso essere disturbato a mosso shift per !. Conduco spesso cose su Vim che non devono essere salvate in un file. Abbiamo anche uno strano wrapper SVN al lavoro che deve essere chiuso con un valore diverso da zero per poter interrompere un check-in.

71
Sue Spence

Questo è lo scenario peggiore per uscire da Vim se vuoi solo uscire, non avere idea di cosa hai fatto e non ti importa di cosa accadrà ai file che hai aperto.

Ctrl-cEnterEnterviEnterCtrl-\Ctrl-n:qa!Enter

Questo dovrebbe tirarti fuori la maggior parte del tempo.

Alcuni casi interessanti in cui hai bisogno di qualcosa del genere:

  • iCtrl-ovg (si entra nella modalità di inserimento, quindi in modalità visiva e quindi in modalità di attesa dell'operatore)

  • QappendEnter

  • iCtrl-ogQCtrl-r=Ctrl-k (grazie ai porge per questo caso)

  • :set insertmode (questo è un caso in cui Ctrl-\Ctrl-n ritorna alla modalità normale)


Modifica: questa risposta è stata corretta a causa dei casi precedenti. Un tempo era:

EscEscEsc:qa!Enter

Tuttavia, ciò non funziona se è stata attivata la modalità Ex. In tal caso dovresti fare:

viEnter:qa!Enter

Quindi un comando completo per "Non voglio sapere cosa ho fatto e non voglio salvare nulla, voglio solo ora!" sarebbe

viEnterEscEscEsc:qa!Enter

40
Heikki Naski

Nel caso in cui tu debba uscire da Vim in modo facile (mentre usi l'opzione -y) puoi entrare nella normale modalità Vim colpendo Ctrl + L e quindi funzionerà qualsiasi delle normali opzioni di uscita.

36
wsams

Vim ha tre modalità di funzionamento: modalità di input, modalità di comando e modalità Ex.

Modalità di input - tutto ciò che si digita, tutti i tasti vengono visualizzati sullo schermo.

Modalità di comando o modalità di fuga - tutto ciò che viene digitato in questa modalità viene interpretato come un comando.

modalità Ex - questo è un altro editor, ex. È un editor di riga. Funziona per linea o in base a un intervallo di linee. In questa modalità, a : appare nella parte inferiore dello schermo. Questo è l'ex editor.

Per uscire da Vim, puoi uscire mentre sei in modalità ex o in modalità comando. Non puoi uscire da Vim quando sei in modalità di inserimento.

scita dalla modalità ex

  1. Devi essere sicuro di essere in modalità Comando. Per farlo, basta premere il tasto Esc chiave.

  2. Vai alla modalità ex premendo il tasto : chiave

  3. Utilizzare una delle seguenti combinazioni in modalità ex per uscire:

    :q - esci :q! - esci senza salvare :wq - salva e esci o scrivi e esci :wq! - come wq, ma impone la scrittura nel caso in cui i permessi dei file siano di sola lettura :x - scrivi & esci :qa - esci da tutto. utile quando vengono aperti più file come: vim abc.txt xyz.txt

scita dalla modalità comando

  1. Premere il tasto Esc. Probabilmente lo hai già fatto se sei in modalità di comando.

  2. Premi capitale ZZ (shift zz) - salva e esci

  3. Premi capitale ZQ (shift zq) - esci senza salvare.

27
tovishalck

Dopo aver colpito ESC (o cmd + C sul mio computer) devi colpire : per il comando Richiedi di apparire. Quindi, puoi inserire quit.

Potresti scoprire che la macchina non ti consente di uscire perché le tue informazioni non sono state salvate. Se vuoi uscire comunque, entra ! direttamente dopo la chiusura (cioè :quit!).

25
deleteMe

In realtà è incredibilmente facile uscire da vim.

Stampa Escape, girati due volte, prendi a calci il gatto, prepara la tazza di tè perfetta, esegui un miglio di quattro minuti , scalare l'everest, fare il Kessel Run in under 12 parsec , salva il Kobayashi Mar , richiedi il trono di ferro , raggiungi pace mondiale , premi :qEnter

18
Caltor

Ho Vim installando un client Git su Windows. :q non uscirebbe Vim per me. :exit ha fatto comunque ...

16

Vorrei aggiungere il mio due centesimi su questo. La domanda è stata posta qui .

Il comando q con il numero chiude la divisione data in quella posizione.

:q<split position> o :<split position>q chiuderanno la divisione in quella posizione.

Supponiamo che il layout della finestra di Vim sia il seguente:

-------------------------------------------------
|               |               |               |
-------------------------------------------------
|               |               |               |
|               |               |               |
|    Split 1    |    Split 2    |     Split 3   |
|               |               |               |
-------------------------------------------------

Se si esegue il comando q1, verrà chiusa la prima divisione. q2 chiuderà la seconda divisione e viceversa.

L'ordine della posizione di divisione nel comando di uscita non ha importanza. :2q o :q2 chiuderanno la seconda divisione.

Se la posizione di divisione che si passa al comando è maggiore del numero di split correnti, si chiuderà semplicemente l'ultima divisione.

Ad esempio, se si esegue il q100 nella configurazione della finestra sopra, in cui sono presenti solo tre divisioni, verrà chiusa l'ultima divisione (Divisione 3).

5
Subash

Ecco come puoi uscire da Vim. Premi Ctrl e 'Z' poi 'X' e 'C'.

Ctrl -> +Z -> +X -> +C
5
Alimov Shohrukh