Dacă nu ești familiarizat, interfața editorului poate fi destul de confuză. Pentru a ieși din această aplicație, ai nevoie de un mic truc. Iată cum poți părăsi vi sau vim în Linux, macOS sau orice sistem asemănător Unix.
Soluția rapidă
Dacă te afli blocat în vi sau vim și vrei să ieși rapid – indiferent dacă salvezi sau nu modificările – iată ce trebuie să faci:
În primul rând, apasă tasta Esc de câteva ori. Aceasta va asigura că vi a ieșit din modul de inserare și se află în modul de comandă. Apoi, tastează :q!
și apasă Enter. Această comandă îi spune lui vi să se închidă fără a salva nicio modificare. (Dacă vrei să salvezi modificările, scrie :wq
.)
Dacă dorești să te familiarizezi cu linia de comandă Linux, va trebui să înveți mult mai mult decât atât. Citește în continuare și îți vom arăta cum funcționează vi și de ce metodele de ieșire sunt atât de particulare. vi este un instrument important și eficient, iar efortul de a-l înțelege este justificat.
vi, editorul omniprezent
Pentru că vi este un instrument comun, este probabil să îl întâlnești. S-ar putea să te trezești în vi chiar și accidental. Poate că cineva îți solicită ajutorul la un computer Linux. Rulezi o comandă precum crontab -e
și, surpriză, se deschide vi. Se pare că cineva a configurat vi ca editor implicit pentru crontab.
Sau poate administrezi un sistem în care vi este singurul editor disponibil sau singurul care funcționează printr-o sesiune SSH la distanță și trebuie să editezi fișierul .bashrc
al unui utilizator.
Comanda pentru a deschide vi și un fișier este simplă: tastează vi
, un spațiu și apoi numele fișierului. Apasă Enter. Programul care se va deschide poate fi vi sau vim, o versiune „îmbunătățită” a lui vi. Depinde de distribuția Linux pe care o utilizezi – de exemplu, Ubuntu folosește vim. Toate instrucțiunile din acest articol sunt valabile și pentru vim.
vi .bashrc
Diferența evidentă între vi și alte editoare este că, imediat ce lansezi vi, nu poți începe să scrii text direct. Asta pentru că vi este un editor modal. Editarea se face într-un mod specific, modul Inserare, iar comenzile sunt introduse în modul Comandă. vi pornește implicit în modul Comandă.
Dacă nu ești familiarizat cu diferența dintre modul de inserare și modul de comandă, poate fi destul de derutant. Multe dintre comenzile pe care le poți lansa în modul Comandă afectează fișierul pe care îl editezi. Dacă ești în modul Comandă, dar încerci din greșeală să scrii text, rezultatul nu va fi cel așteptat. Anumite taste vor fi interpretate ca comenzi, care pot șterge sau diviza linii, muta cursorul sau șterge text.
Și, indiferent ce scrii, nu vei găsi o modalitate de a închide editorul. Între timp, fișierul tău se deteriorează, iar semnalele sonore aleatorii încep să te irite.
Modul Comandă și Modul Inserare
Trebuie să comuți vi în modul corect, în funcție de ceea ce vrei să faci.
Modul de comandă este modul activ atunci când deschizi vi. Dacă nu știi altceva, vei începe să scrii direct. Dacă apeși accidental tasta „i” sau oricare dintre celelalte 10 taste care activează modul de inserare (a, A, c, C, I, o, O, R, s și S), vei observa că textul începe să apară pe ecran. Acum te afli în modul Inserare.
Acest lucru poate părea un progres, până când apeși una dintre tastele săgeată. În loc să mute cursorul, vei vedea că literele A, B, C sau D apar ca litere individuale pe o linie nouă. De obicei, în partea de sus a fișierului.
Nu-ți face griji, te ajutăm noi. Este surprinzător de ușor când știi cum. Reține aceste două acțiuni: Esc te duce în modul Comandă, iar „i” te duce în modul Inserare.
Pentru a închide editorul, trebuie să fii în modul Comandă și să introduci comanda corectă.
De la Modul Comandă la salvare
Pentru a intra în modul Comandă, apasă tasta Esc. Nu se va întâmpla nimic vizibil. Apasă-o de câteva ori. Dacă auzi un semnal sonor la apăsarea tastei Esc, înseamnă că te afli deja în modul Comandă. Semnalul sonor îți spune „Nu mai apăsa Esc, ești deja în modul Comandă”. Dacă auzi un bip când apeși Esc, atunci totul este în regulă.
Tastează două puncte, litera „q” și un semn de exclamare, fără spații. Aceste trei caractere ar trebui să apară în extrema stângă a liniei de jos a terminalului. Dacă nu apar, apasă tasta Esc până când auzi un semnal sonor și încearcă din nou. Apasă Enter când le vezi:
:q!
În această comandă, q este prescurtarea pentru ieșire. Semnul exclamării adaugă un accent, ca și cum ai striga „Ieși!”. Acest lucru te-ar putea face să te simți mai bine.
Semnul exclamării îi indică lui vi să nu salveze nicio modificare pe care ai fi putut să o faci fișierului. Dacă ai făcut greșeli în vi și nu știi exact ce ai făcut, probabil că nu vrei să salvezi haosul pe care l-ai creat.
Odată ce ai revenit la linia de comandă, poate vrei să verifici din nou pentru a te asigura că fișierul nu a fost modificat. Poți face acest lucru cu următoarea comandă:
cat .bashrc | less
Când încerci să ieși din vi, dacă vezi un mesaj care spune „Nu ai scris de la ultima modificare”, înseamnă că ai omis semnul exclamării din comandă. Pentru a te asigura că nu ieși din greșeală și că nu pierzi modificările pe care dorești să le păstrezi, vi îți oferă posibilitatea de a le salva. Pur și simplu, reintrodu comanda :q!
cu semnul exclamării pentru a ieși din vi și a abandona orice modificare.
Dacă ești sigur, salvează modificările
Dacă ești mulțumit de schimbările pe care le-ai făcut fișierului, poți să ieși și să le salvezi folosind comanda :wq
(write and quit). Asigură-te că ești pe deplin convins că vrei ca modificările efectuate să fie scrise în fișier înainte de a continua.
Tastează două puncte, litera w (write) și litera q (quit). Apasă tasta Enter când le vezi în partea stângă-jos a terminalului:
:wq
Efortul merită
Utilizarea vi este asemănătoare cu învățarea unui instrument muzical. Nu poți pur și simplu să te așezi și să îl folosești imediat; ai nevoie de practică. Să încerci să înveți pe loc, sub presiunea de a edita ceva important, nu este cea mai bună abordare. Este ca și cum ai încerca să cânți la pian pentru prima dată în timpul unui concert important.
O mare parte din puterea lui vi provine din combinațiile multiple de taste care efectuează diverse sarcini de editare. Acest lucru este excelent, dar nu vei putea profita de ele decât după ce le-ai memorat, le-ai exersat și au devenit parte din memoria ta musculară.
Până atunci, dacă te trezești blocat în vi, editând un fișier important, tastează pur și simplu :q!
și ieși cu eleganță. Fișierul tău important îți va mulțumi.