Global

  • :help cuvant keye - ajutor pentru cuvantul keye
  • :saveas fisier - salveaza fisierul ca
  • :close - inchide panoul current
  • K - open man page for word under the cursor

Mutarea cursorului

  • h - muta cursorul la stanga
  • j - muta cursorul la dreapta
  • k - muta cursolul in sus
  • l - muta cursolul in jos
  • H - dute la inceputul ecranului
  • M - dute la mijlocul ecranului
  • L - dute la sfarsitul ecranului
  • w - sari la inceputul cuvantului
  • W - sari la inceputul cuvantului (cuvintele pot contine semne de punctuatie)
  • e - sari la sfarsitul cuvantului
  • E - sari la sfarsitul cuvantului (cuvintele pot contine semne de punctuatie)
  • b - sari inapoi la inceputul cuvantului
  • B - sari inapoi la inceputul cuvantului (cuvintele pot contine semne de punctuatie)
  • % - move to matching character (default supported pairs: '()', '{}', '[]' - use :h matchpairs in vim for more info)
  • 0 - sari la inceputul liniei
  • ^ - sari la primul caracter care nu e liber de la inceputul liniei
  • $ - sari la sfarsitul liniei
  • g_ - sari la ultimul caracter non-blank al liniei
  • gg - dute la prima linie a documentului
  • G - dute la ultima linie a documentului
  • 5G - dute la linia 5
  • fx - dute la urmatoarea referinta a caracterului x
  • tx - dute la referinta precendenta a caracterului x
  • Fx - jump to previous occurence of character x
  • Tx - jump to after previous occurence of character x
  • ; - repeat previous f, t, F or T movement
  • , - repeat previous f, t, F or T movement, backwards
  • } - sari la urmatorul paragraf (sau functie/bloc, cand editezi cod)
  • { - jump to previous paragraph (or function/block, when editing code)
  • zz - center cursor on screen
  • Ctrl + e - move screen down one line (without moving cursor)
  • Ctrl + y - move screen up one line (without moving cursor)
  • Ctrl + b - mergi inapoi un ecran intreg
  • Ctrl + f - mergi inainte un ecran intreg
  • Ctrl + d - mergi inainte jumatate de ecran
  • Ctrl + u - mergi inapoi jumatate de ecran
Tip Prefixeaza comanda de miscare a cursorului cu un numar pentru a o repeta. De exemplu, 4j muta cursorul cu 4 linii in jos.

Modul de inserare - inserare/adaugare text

  • i - insereaza inainte de cursor
  • I - insereaza la inceputul liniei
  • a - insereaza (adauga) dupa cursor
  • A - insereaza (adauga) la sfarsitul liniei
  • o - adauga (deschide) o noua linie sub linia curenta
  • O - adauga (deschide) o noua linie inaintea liniei curente
  • ea - insereaza (adauga) la sfarsitul cuvantului
  • Esc - iesi din modul inserare

Editare

  • r - inlocuieste un singur caracter
  • J - lipeste lina curenta cu cea dedesubt
  • gJ - join line below to the current one without space in between
  • gwip - reflow paragraph
  • cc - schimba (inlocuieste) toata linia
  • C - change (replace) to the end of the line
  • c$ - schimba (inlocuieste) pana la sfarsitul liniei
  • ciw - change (replace) entire word
  • cw - schimba (inlocuieste) pana la sfarsitul cuvantului
  • s - sterge caracterul si inlocuieste
  • S - sterge linia si inlocuieste (asemeni cc)
  • xp - transpune 2 caractere (sterge si lipeste)
  • u - undo (anulare)
  • Ctrl + r - redo (refacere)
  • . - repeta comanda anterioara

Marcarea textului (modul vizual)

  • v - incepe modul vizual, marcheaza linii, apoi trimite o comanda (precum y-copie)
  • V - incepe modul vizual in relatie cu liniile
  • o - dute la sfarsitul sectiunii marcate
  • Ctrl + v - incepe modul vizual de tip sectiune
  • O - dute la celalat colt al sectiunii
  • aw - marcheaza un cuvant
  • ab - o sectiune cu ()
  • aB - o sectiune cu {}
  • ib - sectiunea interioara cu ()
  • iB - sectiunea interioara cu {}
  • Esc - iesi din modul vizual

Commandes du mode visuel

  • > - muta textul la dreapta
  • < - muta textul la stanga
  • y - copie textul markat
  • d - sterge textul marcat
  • ~ - schimba capitala caracterului (majuscula/litera mica)

Registre

  • :reg - arata continutul registrelor
  • "xy - copie in registrul x
  • "xp - lipeste continutul registului x
Tip Registrele sunt salvate in ~/.viminfo, si vor fi incarcate din nou la urmatorul restart
Tip Registrul 0 intotdeauna contine valoarea ultimei comenzi de copiere

Insemne

  • :marks - lista insemnelor
  • ma - seteaza pozitia curenta pentru insemnul A
  • `a - sari la pozitia insemnului A
  • y`a - copie textul pana la pozitia insemnului A

Macros

  • qa - inregistreaza macro-ul a
  • q - termina inregistrea macro-ului a
  • @a - ruleaza macro a
  • @@ - ruleaza ultimul macro

Copiere/taiere si lipire

  • yy - copie o linie
  • 2yy - copie 2 linii
  • yw - copie un cuvant
  • y$ - copie pana la sfarsitul liniei
  • p - lipeste din clipboard dupa cursor
  • P - lipeste inainte de cursor
  • dd - sterge (taie) o linie
  • 2dd - sterge (taie) 2 linii
  • dw - sterge (taie) un cuvant
  • D - sterge (taie) pana la sfarsitul liniei
  • d$ - sterge (taie) pana la sfarsitul liniei
  • x - sterge (taie) un caracter

Iesire

  • :w - salveaza fisierul, dar nu iesi
  • :w !sudo tee % - salveaza fisierul folosind sudo
  • :wq or :x or ZZ - salveaza fisierul si iesi din program
  • :q - iesi din program (nu iese daca fisierul nu este salvat)
  • :q! or ZQ - iesi si sterge modificarile din fisier
  • :wqa - write (save) and quit on all tabs

Cauta si inlocuieste

  • /pattern - cauta dupa sablon
  • ?pattern - cauta inapoi dupa sablon
  • \vpattern - sablon 'foarte magic': caracterele non-alfanumerice sunt interpretate ca symboluri regex (nu e nevoie de escaping)
  • n - repeta cautarea inainte
  • N - repeta cautarea inapoi
  • :%s/old/new/g - inlocuieste peste tot old cu new in fisier
  • :%s/old/new/gc - inlocuieste peste tot old cu new in fisier cu confirmare
  • :noh - sterge highlightul cuvintelor potrivite

Cauta in fisiere multiple

  • :vimgrep /pattern/ {file} - cauta dupa sablon in fisiere multiple
e.g. :vimgrep /foo/ **/*
  • :cn - sari la urmatoarea potrivire
  • :cp - sari la potrivirea anterioara
  • :copen - deschide o fereastra care contine lista de potriviri

Editarea fisierelor multiple

  • :e fisier - editeaza fisierul respectin intr-un nou buffer
  • :bnext or :bn - dute la urmatorul buffer
  • :bprev or :bp - dute la bufferul anterior
  • :bd - sterge un buffer (inchide fisierul)
  • :ls - arata o lista cu bufferele deschise
  • :sp fisier - deschide fisierul intr-un buffer now si imparte fereastra
  • :vsp fisier - deschide fisierul intr-un buffer now si imparte fereastra vertical
  • Ctrl + ws - imparte fereastra orizontal
  • Ctrl + ww - schimba fereastra
  • Ctrl + wq - iesi din fereastra
  • Ctrl + wv - imparte fereastra vertical
  • Ctrl + wh - muta cursorul in fereastra din stanga (vertical)
  • Ctrl + wl - muta cursorul in fereastra din dreapta (vertical)
  • Ctrl + wj - muta cursorul in fereastra de sus (orizontal)
  • Ctrl + wk - muta cursorul in fereastra de jos (orizontal)

Taburi

  • :tabnew or :tabnew fisier - deschide fisierul intr-un tab nou
  • Ctrl + wT - muta fereastra curenta in propriul tab
  • gt or :tabnext or :tabn - dute la urmatorul tab
  • gT or :tabprev or :tabp - dute la tabul anterior
  • #gt - dute la tabul cu numarul #
  • :tabmove # - dute la tabul din pozitia #
  • :tabclose or :tabc - inchide tabul curent si toate ferestrele lui
  • :tabonly or :tabo - inchide toate taburile in afara de cel curent
  • :tabdo command - ruleaza comanda in toate taburile (ex :tabo q - inchide toate taburile deschise)