Cum pot ieși din editorul Vim?

Am'm-a blocat și nu poate scăpa. Se spune:

"type :quit<Enter> to quit VIM"

Dar când am tip care pur și simplu apare în obiect corpul.

Comentarii la întrebare (9)
Soluția

Hit Esc pentru a intra în "modul Normal". Apoi, aveți posibilitatea să tastați : să introduceți "modul linie de Comandă". Un colon (:) va apărea în partea de jos a ecranului și aveți posibilitatea să tastați în una din următoarele comenzi. Pentru a executa o comandă, apăsați Enter cheie.

  • :q să renunțe (prescurtarea pentru:renunta`)
  • :q! pentru a ieși fără a salva (prescurtarea pentru:demisia!`)
  • :wq să scrie și să renunțe
  • :wq! să scrie și să renunțe, chiar dacă fișierul are doar permisiunea de a citi (dacă fișierul nu are permisiuni de scriere: forța scrie)
  • :x să scrie și să renunțe (similare cu :wq, dar scrie doar dacă există modificări)
  • :exit de a scrie și de ieșire (la fel ca :x)
  • :qa să renunțe la toate (prescurtarea pentru:quitall`)
  • :cq să renunțe fără a salva și de a face Vim reveni non-eroare de zero (adică ieșirea cu eroare)

Puteți, de asemenea, de ieșire Vim direct de la "modul Normal" prin tastarea " ZZ " pentru a salva și de a renunța (la fel ca :x) sau ZQ de a renunța (la fel ca :q!). (Rețineți acest caz este important aici. "ZZ" și " zz " nu înseamnă același lucru.)

Vim are o vastă ajuta - pe care le puteți accesa cu:ajuta la comandă - în cazul în care puteți găsi răspunsuri la toate întrebările dvs. și un tutorial pentru incepatori.

Comentarii (19)

Înainte de a introduce o comandă, hit Esc cheie. După ce introduceți-l, a lovit Întoarce pentru a o confirma.

Esc finisaje curent de comandă și comutatoare Vim la normal mode. Acum, dacă apăsați :,: va apărea în partea de jos de ecran. Acest lucru confirmă faptul că te're, de fapt, tastați o comandă și nu de a edita fișierul.

Cele mai multe comenzi au abrevieri, cu parte opțională închise în paranteze: c[ommand].

Comenzile marcate cu '*' sunt Vim-only (nu puse în aplicare în Vi).

În condiții de siguranță-nu mai (dacă nu există modificări nesalvate):

  • `:î[uit] Ieșire curent fereastră. Renunta Vim dacă aceasta este ultima fereastra. Acest lucru nu reușește, atunci când au fost făcute modificări în curent de lucru buffer.
  • :qa[ll]* închideți toate ferestrele și Vim, dacă nu există anumite rezerve care au fost schimbate.

Prompt-quit (instrucțiunile dacă există modificări nesalvate)

  • :conf[irm] q[uit]* Renunte, dar a-i acorda prompt atunci când există unele rezerve care au fost schimbate.
  • :conf[irm] xa[ll]* Scrie totul s-a schimbat tampoane și ieșire Vim. Aduce un prompt atunci când unele rezerve nu pot fi scrise.

Scrie (salva) se modifică și quit:

  • :wq Scrie fișierul curent (chiar dacă acesta nu a fost schimbat) și a renunțat. Scris eșuează atunci când fișierul este read-only sau tampon nu au un nume. :pca[ll]* pentru toate ferestrele.
  • :wq! La fel, dar scrie chiar și fișiere doar în citire. :pca[ll]!* pentru toate ferestrele.
  • :x[l], " ZZ " (cu detalii). Scrie în fișier numai dacă a fost schimbat și dau demisia, pentru:xa[ll]`* pentru toate ferestrele.

Anulează modificările și quit:

  • :î[uit]! ZQ* Demisionat, fără a scris, de asemenea, atunci când vizibil tampoanele s-au schimbat. Nu are ieșire atunci când există schimbat ascunse rezerve.
  • :qa[ll]!*, :quita[ll][!]* Renunta Vim, toate modificările la rezerve (inclusiv ascunse) sunt pierdute.

Apăsați Întoarce pentru a confirma comanda.

Acest răspuns nu't de referință toate Vim scrie și să renunțe la comenzile și argumentele. Într-adevăr, acestea sunt referite în Vim documentația.

Vim are o vastă built-in de ajutor, de tip Esc:ajutaÎntoarce pentru a o deschide.

Acest răspuns a fost inspirat de celălalt, inițial scris de @dirvine și editate de alte ASTFEL încât utilizatorii. Am'am inclus mai multe informații de la Vim de referință, ATÂT de comentarii și alte surse. Diferențele de Vi și Vim sunt reflectate de asemenea.

Comentarii (1)

Imaginile sunt în valoare de o mie de comenzi Unix și opțiuni:

Am tras această elevilor mei în fiecare semestru și ele par să înțeleagă vi după aceea.

vi este o mașină cu stări finite](https://en.wikipedia.org/wiki/Finite-state_machine) cu numai trei state.

La început, vi se duce în modul de COMANDĂ, în cazul în care aveți posibilitatea să tastați scurt, câteva comenzi de caractere, orbește. Stii ceea ce faci; e't pentru amatori.

Atunci când doriți pentru a edita text, ar trebui să te duci pentru a INTRODUCE modul de lucru cu un caracter de comandă:

  • eu: du-te pentru a INTRODUCE în locul cursorului
  • Eu: du-te la modul INSERARE la începutul liniei
  • un: append după cursorul
  • Un: adăugare la sfârșit de linie
  • o: deschide o nouă linie sub linia curentă
  • O: deschide o nouă linie în loc de linia curentă

Acum, răspunzând la întrebarea: ieșirea.

Puteți ieși vi la modul EX:

  • q: dacă am't facut modificari, sau le-a salvat în prealabil
  • q!: ignoră orice modificări și quit
  • wq: salvați și ieșiți
  • x: aceasta este egală cu wq

"w" si " x " accepta un nume de fișier parametru. Dacă ai început vi cu un nume de fișier, nu trebuie să-l dea din nou aici.

În sfârșit, cel mai important: cum se poate ajunge modul EX?

EX modul este pentru comenzi lungi pe care le puteți vedea tastând la linia de jos a ecranului. Din modul de COMANDĂ, te împinge de colon, :, și un colon va apărea în linia de jos, în cazul în care aveți posibilitatea să tastați comenzile de mai sus.

Din modul INSERT, aveți nevoie pentru a împinge ESC, adică pe butonul de Evacuare, o să-modul de COMANDĂ, și apoi : pentru a merge la modul EX.

Dacă nu sunteți sigur, apăsați ESC și că va aduce la comanda modul.

Deci, robust metodă este ESC-:-x-Intre care salvează fișierul dvs. și renunță.

Comentarii (14)

Dacă doriți pentru a ieși fără a salva în Vim and au Vim reveni un non-zero exit cod, puteți folosi:cq`.

Eu folosesc acest tot timpul pentru că nu pot't fi deranjat să pinky shift pentru !. De multe ori am conductei de lucruri pentru a Vim care don't nevoie pentru a fi salvate într-un fișier. Avem, de asemenea, un ciudat SVN wrapper la locul de muncă, care trebuie să fi ieșit cu o non-valoare zero în scopul de a avorta un checkin.

Comentarii (1)

Aceasta este pentru cel mai rău scenariu de ieșirea Vim dacă doriți doar afară, nu au nici o idee despre ce ai de'am făcut și nu - 't pasă ce se va întâmpla cu fișierele deschise.

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

Acest lucru ar trebui să ieși mai din timp.

Un caz interesant în cazul în care ai nevoie de ceva de genul asta:

  • "i" Ctrl-ovg (ai intra în modul insert, apoi modul vizual și apoi operatorul mod de așteptare)

  • QappendEnter

  • "i" Ctrl-ogQCtrl-r=Ctrl-k (datorită porges pentru acest caz)

  • :set insertmode (acesta este un caz când Ctrl-\Ctrl-n revine la modul normal)


Edit: Acest răspuns a fost corectat din cauza cazurile de mai sus. Este folosit pentru a fi:

EscEscEsc:qa!Enter

Cu toate acestea, asta nu't funcționa dacă ați intrat în modul Ex. În acest caz, ar trebui să facă:

"vi" Enter:qa!Enter

Deci, un complet de comandă pentru "nu't vrei să știi ce am'am făcut și eu nu't doriți să salvați ceva, vreau acum!" ar fi

viEnterEscEscEsc:qa!Enter

Comentarii (4)

În cazul în care aveți nevoie pentru a ieși Vim în easy mode (în timp ce utilizați -y option) puteți introduce normal Vim modul prin lovirea Ctrl + Nu și atunci oricare dintre normal ieșirea opțiuni va lucra.

Comentarii (1)

Vim are trei moduri de funcționare: modul de Intrare, modul de Comandă & modul Ex.

Modul de intrare - tot ce scrii, toate intrarile de la tastatura sunt ecou pe ecran.

Modul de comandă sau de modul de Evacuare - tot ceea ce tastați în acest mod este interpretat ca o comandă.

Modul Ex - acesta este un alt editor, ex. Este o linie de editor. Acesta funcționează pe linie sau în funcție de o serie de linii. În acest mod, o : apare în partea de jos a ecranului. Acest lucru este fostul editor.

În scopul de a ieși Vim, puteți ieși în timp ce vă aflați în modul ex sau în modul de comandă. Nu Vim de ieșire atunci când vă aflați în modul de introducere.

Ieșirea din modul ex

  1. Ai nevoie pentru a fi sigur că vă aflați în modul de Comandă. Pentru a face asta, pur și simplu apăsați Esc cheie.

  2. Du-te la fosta modul prin apăsarea : cheie

  3. Utilizați oricare dintre următoarele combinații în fosta modul de ieșire:

:q - nu mai :q! - ieși fără a salva :wq - save & renunta sau scrie & demisia :wq! - la fel ca wq, dar forța scrie în cazul în care permisiunile de fișiere sunt readonly :x - scrie & demisia :qa - renunta la tot. util atunci când sunt deschise mai multe fișiere, cum ar fi: vim abc.txt xyz.txt

Ieșirea din modul de comandă

  1. Apăsați tasta escape. Tu, probabil, au făcut deja acest lucru, dacă sunteți în modul de comandă.

  2. Apăsați capital ZZ (schimbare zz) - save & exit

  3. Apăsați capital ZQ (schimbare zq) - ieșire fără salvarea.

Comentarii (2)

După ce a lovit ESC (sau cmd + C pe computerul meu) trebuie să lovit : pentru promptul de comandă pentru a apărea. Apoi, s-ar putea introduce "quit".

S-ar putea găsi că mașina nu vă va permite să renunțe pentru că informațiile dvs. nu't a fost salvat. Daca'd ca a renuntat oricum, introduceți ! imediat după demisia (de exemplu :demisia!).

Comentarii (0)

Am Vim prin instalarea unui client Git pe Windows. :q - ar't de ieșire Vim pentru mine. :exit a făcut totuși...

Comentarii (4)

Aș dori să-mi adaug doi cenți în acest sens. Întrebarea a fost întrebat aici.

La " q " comanda cu numărul închide dat split în această poziție.

:q<split poziția> "sau": <split poziția>q va închide divizat în acea poziție.

Las's spune-ți Vim fereastra layout este după cum urmează:

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

Dacă tu a alerga t1 comanda, se va închide prima split. t2 se va închide cea de-a doua split și vice-versa.

Ordinea de split poziția în comanda quit nu contează. :2q "sau": t2 se va închide cea de-a doua split.

Dacă split poziția treci la comandă este mai mare decât numărul de curent se rupe, se va închide pur și simplu ultima split.

De exemplu, dacă tu a alerga `q100 pe deasupra ferestrei de configurare în cazul în care există doar trei desparte, se va închide ultima split (Split 3).

Comentarii (0)

Ieșirea Vim

  1. Ctrl+Z
  2. X-cheie
  3. C-cheie
Comentarii (5)