Cosmin L. Neagu

Nivel: Mediu,Avansat
Data ultimei modificări: 2014.07.21

Îndrumar Vim

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 curemt, 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ă interese și preferințe personale. Nu sunt un expert în fiecare subiect atins. Nu prezint adevăruri ci perspective.

Email: cosmin (at) rohost.com

Social: Google+, Twitter, GitHub