Vim 101

Chiar dacă e nevoie de ani de experientă pentru ca folosirea Vim să devină și comodă și extrem de eficientă putem ajunge la un nivel minim de cunoștințe într-un timp relativ scurt. Este important să stăpânim Vim-ul suficient pentru a-l putea folosi zi de zi.

În primul rând e important de știut că Vim are mai multe moduri de lucru. În fiecare mod de lucru se pot face anumite tipuri de acțiuni. Cele mai uzuale moduri Vim:

  • normal, pentru navigare și manipulare de text la nivel de linii
  • visual, pentru manipularea blocurilor de text
  • insert, folosit pentru inserare/modificare text
  • command-line, pentru executarea de comenzi, căutare, filtre, ...

Părăsirea programului Vim

Chiar dacă pare ciudat la prima vedere, părăsirea Vim-ului este un element de stres pentru începărori. Pentru a acoperi toate cazurile și pentru a nu intra în prea multe detalii avem 2 mari cazuri:

  • ieșire cu salvarea modificărilor: ESC :wq
  • ieșire cu abandonarea modificărilor: ESC :q!

ESC - schimbă modul curent și trece în modul normal
: - trece din modul normal în modul command line
w - salvează modificările făcute
q - părăsește programul vim
! - ignoră warning-ul în cazul în care se dorește ieșirea dar sunt modificări nesalvate

Modul normal

Vim pornește automat în modul normal. Navigarea în acest mod se face folosind:

  • h j k l - un caracter stanga, jos, sus respectiv dreapta (funcționează și săgețile însă pe termen lung tastele devin mai utile)
  • gg G - mută cursorul la începutul respectiv sfârșitul fișierului
  • ^u ^d - ctrl+u/ctrl+d - scroll la jumătate de ecran de text în sus respectiv jos, păstrează pozitia cursorului în pagină
  • w b - sare pe începutul cuvântului următor respectiv anterior

După executarea următoarelor comenzi se trece automat pe modul insert:

  • ^ $ - mută cursorul la începutul respectiv sfârșitul liniei curente
  • a A i I o O - mută cursorul astfel: după caracterul curent, la sfârșitul liniei, înaintea caracterului curent la începutul liniei, după linia curentă(crează linie nouă goală), înainte de linia curentă

Copiere / Ștergere:

  • yw yb yy y^ y$ - copiază până la sfârsitul cuvantului curent, până la începutul lui, sterge toată linia curentă, până la începutul liniei respectiv până la sfarșitul ei
  • dw db dd d^ d$ - sterge până la sfârsitul cuvantului curent, până la începutul lui, sterge toată linia curentă, până la începutul liniei respectiv până la sfarșitul ei (informația ștearsă e salvată pentru paste ulterior)
  • x șterge caracterul curent
  • p P - paste sub respectiv deasupra de cursor
  • u - undo
  • U - restaurare linie

Toate comenzile pot fi prefixate cu un număr pentru a executa comanda asupra unui număr mai mare de caractere/linii astfel 5w sare 5 cuvinte, 8dd șterge 8 linii, 2j mută cursorul 2 linii mai jos, etc.

Exemplele de mai sus reprezintă o mică parte din funcționalitatea Vim dar sunt mai mult decât suficiente pentru a folosi acest editor zi de zi. Pentru a explora elementele mai complexe ale editor-ului puteți urmări secțiunea Vim+

Conținutul acestui site reflectă interesele și preferințele autorilor.