Tag Archives: vi

Vi/Vim

vimAm întilnit foartă multă lume, și anume chiar utilizator de GNU/Linux care încearca să evite lucrul cu editorul VI sau VIM. La întrebarea ”De ce ?” primesc mereu același răspuns cu cuvinte cenzurate în partea softuluiu dat.

De ce oare toți care il încercă sa-l folosească în linia de comanda (CLI) și nu se lămuresc în primele 2 minute îl disconsideră un produs util ? Raspunsul este simplu: VI/VIM nu este un editor intuitiv, ci unul modal cu o logica de funcționare mai deosebită. Prin urmare fară cunoștințe de bază e imposibil sa operezi cu acest editor la nivel de intuiție. Din această cauză muți care îl incearcă în grabă, sau deschid editorul și mai apoi ne știind cum sa-l închidă îl desprețuiesc. Ca urmare nu-l mai folosesc niciodată și preferă o alternativă de genul nano, emacs etc.

Recunosc că prima impresie în privința lui VI la fel a fost negativă. Prima dată cînd am început sa studiez linux, și cînd din greșeală am deschis vim, m-am intervat ca nu puteam ieși din el. Unica soluție era butonul Reset, deoarece eram doar în consolă, fara GUI. Mai tîrziu, am studiat editorul VIM mai detaliat, și pot sa spun ca am rămas impresionat de posibilitățile sale sub linia de comandă.

Deci de ce VI și VIM ?
VI – este un editor de text open source multiplatformă.
VIM – Vine de la Vi IMproved, deriveaza de la editorul VI, dar cu un set larg de îmbunătățiri.

Ce inseamnă editor modal ? – prin editor modal înțelegem că editorul are mai multe regimuri de funcționare. Cu alte cuvinte, aceași tastă poate avea funcționalitate diferită în regimuri diferite. VI/VIM operează în 2 regimuri sau moduri de bază Normal Mode (Regim normal, sau regim de comandă) și Insert Mode (Regim de inserare).

1. Regim normal (Normal mode):  În acest regim fișierul deschis poate fi listat și asupra textului se pot executa anumite modificări. Modificările se fac cu ajutorul tastelor care și sînt interpretatori de comenzi. Fiecare tastă execută o anumită comandă. Odată lansat editorul se află în regimul normal sau în regimul de comandă.

vim1 

2. Regim de inserare (Insert mode): Pentru a intra în regimul de inserare a textului, se tastează tasta i sau INSERT. În acest regim editorul permite inserarea textului, deci toate tastele sînt folosite pentru a culege text. Pentru a ieși din regimul de inserare în regimul de comanda (sau regim normal) tastăm ESC sau CTRL+C

vim2

 

Cum aflu în care regim sînt la moment ?
Atragem atenția în stînga jos al paginii, daca ne aflăm în regimul de comandă nu o să vedem nici o inscripție, însă dacă ne vom afla în regimul de inserare vom vedea scris:
vim2


Mai jos vreau să descriu cele mai utilizate comenzi de care o sa aveți nevoie:
(!) Toate aceste comenzi sunt valide în regimul normal (regimul de comandă)


Comutarea intre modurile de lucru


Operatii asupra fisierelor


Pozitionarea cursorului


Comenzi folosind marcaje

Stergere

Toate comenzile de stergere copiaza textul sters in tampon de unde el se poate extrage cu comanda

p

 


Lucrul cu tamponul (Bufer)


Cautare si schimbare (Search & Replace)


Setarea diferitelor regimuri

 

Pentru lista completa a comenzilor și posibilităților vim

Si ca bonus, recomand un cheatsheet sa-l puneti ca wallpaper :)

vim_cheatsheet