VIM parancsok magyarul

Néhány fontos alap dolog:

Tartalom:

1: Írás, szöveg beszúrás (Insert mode)

2: Írás közben használható parancsok

3: Parancssorban használható parancsok

4: Mozgások

5: Kijelölés (Visual mode)

6: Keresés és csere

7: Másolás-beillesztés

8: Regiszterek (másoláshoz) és makrók

9: Alapvető vezérlési parancsok, fájlműveletek

10: Bufferek, ablakok (munka több fájllal)

11: Lapok

12: Markerek (könyvjelzők)

13: Fold (összezárható kódrészletek)

14: Képernyő görgetés

15: Személyes _vimrc beállítások

16: A NERDTree plugin parancsai

17: A Surround.vim plugin parancsai

1: Írás, szöveg beszúrás (insert mode)

ESCVisszatérés normál módba
iInsert mód: beszúrás a kurzor alatti karaktertől
IInsert mód: beszúrás a sor elejére
aInsert mód: hozzáfűzés a kurzor után
AInsert mód: hozzáfűzés a sor végére
oInsert mód: új sor a kurzor alatt és szerkesztés
OInsert mód: új sor a kurzor felett
CKivágás és szerkesztés a kurzortól a sor végéig
c0Kivágás és szerkesztés a kurzortól a sor elejéig
ccA teljes sor kivágása, majd az üres sorban szerkesztés
c[#]h vagy c[#]lKivágja a megadott (#) számú karaktert balra (h) / jobbra (l) majd szerkesztés
cwKivágás és szerkesztés a kurzortól a szó végéig
c[#]w vagy [#]cwKivágás és szerkesztés a megadott (#) számú szóig előre
ciwA kurzor alatti teljes szó kivágása majd szerkesztés
ci( vagy ci[ vagy ci”Kivágás és szerkesztés a zárójelek, idézőjelek között
ca( vagy ca[ vagy ci"Kivágás és szerkesztés a zárójellel, idézőjellel együtt
citKivágás és szerkesztés a tag-ek között
catKivágás és szerkesztés a tag-ekkel együtt
cipA teljes bekezdés kivágása, majd szerkesztés
capA teljes bekezdés kivágása az utána lévő üres sorral együtt, majd szerkesztés
rKarakter felülírása egyetlen karakterrel
RReplace mód: Folyamatos felülírás
sKarakter felülírása bármennyi karakterrel
[#]sA megadott (#) számú karakter felülírása bármennyi karakterrel
giÍrás (insert mód) folytatása ott, ahol a legutóbb abba lett hagyva
JAktuális és alatta lévő sor egyesítése szóközzel (az alul lévő sor elejéről törli a fehér karaktereket)
gJAktuális és alatta lévő sor egyesítése szóköz nélkül
gq + ENTERHosszú sor feltördelése rövidebb sorokra – a rövidítéskor a sor maximális hosszának a colorcolumn értékét veszi figyelembe
:aBeszúrja a parancssorba gépelt sorokat az aktuális sor alá, behúzással
új sor: ENTER; folyamat lezárása és beszúrás: az utolsó hasznos sor utáni sorban .(pont)ENTER
:a!Beszúrja a parancssorba gépelt sorokat az aktuális sor alá behúzás nélkül
új sor: ENTER; folyamat lezárása és beszúrás: az utolsó hasznos sor utáni sorban .(pont)ENTER
:iBeszúrja a parancssorba gépelt sorokat az aktuális sor fölé, behúzással
új sor: ENTER; folyamat lezárása és beszúrás: az utolsó hasznos sor utáni sorban .(pont)ENTER
:i!Beszúrja a parancssorba gépelt sorokat az aktuális sor fölé behúzás nélkül
új sor: ENTER; folyamat lezárása és beszúrás: az utolsó hasznos sor utáni sorban .(pont)ENTER
:m[cél][irány][#]Aktuális sor vagy a kijelölt sorok mozgatása a [cél]-hoz, eltolás [irány]-ba (+ / -) a megadott [#] mértékben. Pl.:
:m-2 → egyel felfelé; :m+ → egyel lefelé; :m.12 → 12 sornyival lefelé
(a pont az aktuális sort jelzi, mint "cél", amihez képest az eltolás megtörténik)
:m12 → a fájl 12. sora után; :m0 → a fájl legelső sora elé; :m$ → a fájl utolsó sora után
:m’k → közvetlenül az ’k’ jelű könyvjelző sora után; :m’k-1 → közvetlenül az ’k’ jelű könyvjelző sora elé
:[blokk]m[cél][irány][#]A [blokk]-ban megadott sorok mozgatása. Pl.:
:.,+5m-7 → az aktuális és az utána következő 5 sor mozgatása 6 sorral feljebb. (A parancsban 6 sorral való felfelé ugráshoz azért van -6 helyett -7 írva, mert felfelé a "saját sorát" is át kell ugrania)
CTRL+aInkrementálja a kurzor alatti számot (ha csak egy szám van a sorban, akkor a sorban bárhol állva működik, nem szükséges konkrétan oda navigálni a kurzorral)
CTRL+xDekrementálja a kurzor alatti számot (ha csak egy szám van a sorban, akkor a sorban bárhol állva működik, nem szükséges konkrétan oda navigálni a kurzorral)

2: Billentyűparancsok írás közben (instert módban)

CTRL+r + [regiszter]Beilleszti a megadott regiszter tartalmát (ha van benne sortörés, akkor sortörésekkel)
CTRL+r + CTRL+r + [regiszter]Beilleszti a megadott regiszter tartalmát (sortörések nélkül)
CTRL+pSzó kiegészítése a hasonlóan induló szavak közül (a szavakat a fájlban visszafelé keresi)
CTRL+nSzó kiegészítése a hasonlóan induló szavak közül (a szavakat a fájlban előre keresi)
CTRL+x + CTRL+iVáltozó nevének kiegészítése a hasonlóan indulók közül
CTRL+x + CTRL+lSor kiegészítése a hasonlóan induló sorok közül
CTRL+x + CTRL+fFájlnév kiegészítése az aktuális könyvtárból
CTRL+v [#]ASCII kód beszúrása; pl. CTRL+v 64 → @
CTRL+v =Kifejezés, egyenlet eredményének beszúrása (csak az eredményt szúrja be, a kifejezést nem!); a bevitel lezárása ENTER-rel. Pl. A 102+3 eredményének beszúrása: CTRL+v = pow(10,2)+3 ENTER
CTRL+v TABEgy tabulátor karakter beszúrása az expandtab opció bekapcsolt állapota esetén
CTRL+oAz instert mód felfüggesztése egy normál parancs kiadására és végrehajtására
CTRL+lA folyamatos instert mód felfüggesztése több normál parancs kiadására és végrehajtására; visszatérés a folyamatos instert módba: ESC

3: Parancssorban (command mode) használható parancsok

CTRL+r + CTRL+wA kurzor alatti szó másolása a parancssorba
CTRL+r + [regiszter]Beillesztés a megadott regiszterből a parancssorba (pl. CTRL+r ": a legutóbb másolt szöveg beilletsztése)
CTRL+fA parancssor előzményeinek megnyitása command módban
q:A parancssor előzményeinek megnyitása normál módból

4: Mozgás

h / j / k / l Elmozdulás: ← Balra / ↓ Le / ↑ Fel / → Jobbra
[#]h / [#]j / [#]k / [#]lElmozdulás a megadott (#) számú karakterrel vagy sorral; pl. 5l → öt karakter jobbra, 6j → hat sornyit le
wLépés a következő szó elejére - szinte mindent szó-elválasztónak tekint (számmal megadva - [#]w - több ugrást hajt végre)
WLépés a következő szó elejére - csak a fehér karaktereket tekinti szó-elválasztónak (számmal megadva - [#]W - több ugrást hajt végre)
eLépés a következő szó végére - szinte mindent szó-elválasztónak tekint (számmal megadva - [#]e - több ugrást hajt végre)
ELépés a következő szó végére - csak a fehér karaktereket tekinti szó-elválasztónak (számmal megadva - [#]E - több ugrást hajt végre)
bLépés az előző szó elejére - szinte mindent szó-elválasztónak tekint (számmal megadva - [#]b - több ugrást hajt végre)
BLépés az előző szó elejére - csak a fehér karaktereket tekinti szó-elválasztónak (számmal megadva - [#]B - több ugrást hajt végre)
geLépés az előző szó végére - szinte mindent szó-elválasztónak tekint (számmal megadva - [#]ge - több ugrást hajt végre)
gELépés az előző szó végére - csak a fehér karaktereket tekinti szó-elválasztónak (számmal megadva - [#]gE - több ugrást hajt végre)
0Lépés a sor elejére
_ vagy ^Lépés a sor első nem fehér karakterére
$Lépés a sor végére
g_Lépés a sor utolsó nem fehér karakterére
gj / gkSortörés esetén (ha nem fér ki a képernyőre a teljes sor) lépés a "törött" sorban egyel le / fel
g0Sortörés esetén (ha nem fér ki a képernyőre a teljes sor) lépés a "törött" sor elejére
g$Sortörés esetén (ha nem fér ki a képernyőre a teljes sor) lépés a "törött" sor végére
gmSortörés esetén (ha nem fér ki a képernyőre a teljes sor) lépés a "törött" sor közepére
f[karakter]Lépés soron belül a megadott karakterhez előre (számmal megadva - [#]f[karakter] - több lépést hajt végre)
F[karakter]Lépés soron belül a megadott karakterhez visszafelé (számmal megadva - [#]F[karakter] - több lépést hajt végre)
t[karakter]Lépés soron belül a megadott karakter elé előre (számmal megadva - [#]t[karakter] - több lépést hajt végre)
T[karakter]Lépés soron belül a megadott karakter elé visszafelé (számmal megadva - [#]T[karakter] - több lépést hajt végre)
;A legutóbbi f vagy t parancs ismétlése
,A legutóbbi f vagy t parancs ismétlése ellenkező irányban
ggUgrás a fájl elejéhez
GUgrás a fájl végéhez
:[#] vagy [#]G vagy [#]ggUgrás a megadott (#) sorszámú sorba
%Ugrás a kurzor alatti zárójel párjához
gdUgrás a kifejezés lokális deklarációjához
gDUgrás a globális deklarációhoz
}Ugrás a következő bekezdéshez – bekezdések közötti határ: üres sor
{Ugrás az előző bekezdéshez – bekezdések közötti határ: üres sor
)Ugrás a következő mondathoz – mondatok közötti határ: mondatvégi írásjel
(Ugrás az előző mondathoz – mondatok közötti határ: mondatvégi írásjel
]]Ugrás a következő függvény elejéhez, azaz ugrás a következő olyan { zárójelhez, ami a sor elején van
[[Ugrás az előző függvény elejéhez, azaz ugrás az előző olyan { zárójelhez, ami a sor elején van
][Ugrás a következő függvény végéhez, azaz ugrás a következő olyan } zárójelhez, ami a sor elején van
[]Ugrás az előző függvény végéhez, azaz ugrás az előző olyan } zárójelhez, ami a sor elején van
H / M / LUgrás a képernyő tetejére / közepére / aljára
CTRL+f / CTRL+bGörgetés egy oldalnyit felfelé / görgetés egy oldalnyit lefelé
CTRL+u / CTRL+dGörgetés fél oldalnyit felfelé / görgetés fél oldalnyit lefelé
CTRL+oVisszalépés a jump list-ben, azaz vissza az előző pozícióhoz
CTRL+iElőrelépés a jump list-ben, azaz előre a következő pozícióba
:juA jump list tartalmának megjelenítése (minden olyan mozgás kiindulási pozíciója erre a listára kerül, ami ugrás - és nem lépés, elmozdulás vagy görgetés - továbbá a keresési és csere parancsok)

5: Kijelölés (visual mode)

v[#mozgás]Kijelölés mód: karakterenként
V[#mozgás]Kijelölés mód: soronként – teljes sorok
CTRL+v[#mozgás]Kijelölés mód: blokk mód – „téglalap”, oszlopok és sorok
gvA legutóbb kijelölt terület újbóli kijelölése (pl. egy művelet vagy mozgás után, amikor elveszik a kijelölés)
viwTeljes szó kijelölése
vawTeljes szó kijelölése az előtte lévő szóközzel együtt
vi( vagy vi[ vagy vi"A megadott zárójelek, idézőjelek közötti tartalom kijelölése
va( vagy va[ vagy va"A megadott zárójelek, idézőjelek közötti tartalom kijelölése, a zárójellel, idézőjellel együtt
vibA () zárójelek közötti tartalom kijelölése
vabA () zárójelek közötti tartalom kijelölése a zárójelekkel együtt
viBA {} zárójelek közötti tartalom kijelölése
vaBA {} zárójelek közötti tartalom kijelölése a zárójelekkel együtt
vitA tag-ek közötti tartalom kijelölése
vatA tag-ek közötti tartalom kijelölése a tag-ekkel együtt
vipA teljes bekezdés kijelölése
vapA teljes bekezdés kijelölése az utána következő üres sorral együtt
oUgrás a kijelölt sor másik végére
OUgrás a kijelölt blokk másik sarkába
yA kijelölt rész másolása
dA kijelölt rész kivágása
cA kijelölt rész kivágása majd szerkesztés
uA kijelölt részt kisbetűsre konvertálja
UA kijelölt részt nagybetűsre konvertálja
~Kis és nagybetűk megfordítása a kijelölt szövegben
>A kijelölt rész eltolása jobbra, behúzás növelése
<A kijelölt rész eltolása balra, behúzás csökkentése
=Automatikusan javítja a behúzást (indentálást) a kijelölt szövegben. (Az == kijelölés nélkül javítja a behúzást a kurzor alatti sorban)

6: Keresés és csere

/[mit]Keresés a dokumentumban előre (keresőkifejezés nélkül a legutóbbi keresést ismétli)
?[mit]keresés a dokumentumban visszafelé
nA keresés folytatása a megkezdett irányban
NA keresés folytatása az ellenkező irányban
*A kurzor alatti szó keresése teljes egyezéssel előre
#A kurzor alatti szó keresése teljes egyezéssel visszafelé
g*A kurzor alatti szó keresése nem csak teljes egyezéssel előre
g#A kurzor alatti szó keresése nem csak teljes egyezéssel visszafelé
:[hol]s/[mit]/[mire]/[hogyan]Keresés [mit] és csere [mire] az adott helyen [hol] a megadott módon [hogyan]
:%s/…Keresés és csere az egész (%) fájlban…
:[#tól],[#ig]s/…Keresés és csere a megadott sortól a megadott sorig…
:.,$s/…Keresés és csere az aktuális sortól a fájl végéig…
:.,+[#]s/…Keresés és csere az aktuális sortól [#] soron át előre…
:.,-[#]s/…Keresés és csere az aktuális sortól [#] soron át visszafelé
:g/^[szöveg]/s/…Keresés és csere csak a megadott szöveggel kezdődő sorokban…
…/[mit]$/…Csak a sor végén keresi a megadott szöveget
…/^[mit]/…Csak a sor elején keresi a megadott szöveget
…/\<[mit]\>/…Pontos kifejezés [mit] keresése; azaz pl. nem találja meg a "bármit" csak a "mit"
\t / \n / \s / \/ / \\Tabulátor / új sor / fehér karakter / perjel / visszaper keresése
[mit1]\|[mit2]"Vagy": a keresett kifejezések [mit1, mit2] bármelyikére találatot ad
.*bármi (ez máshol az önálló csillag karakter)
[a-A0-9]Kollekció, amelyből a keresés karaktert választhat az adott helyre; pl.: [bl]g → bg / lg
[^a-A0-9]A kollekció elemeinek kizárása
\rSortörés beillesztése
…/[mire]&…/…A találat beillesztése (pl. :s/[mit]/"&"/ → a keresett kifejezést idézőjelbe teszi)
…/gKeresés és csere az összes előfordulásra
…/cCsere megerősítéssel
…/IKis- és nagybetűk megkülönböztetése
…/iKis- és nagybetűk nincsenek megkülönböztetve
& vagy :sENTERLegutóbbi csere parancs ismétlése egyszer
g&Legutóbbi csere parancs ismétlése a fájl végéig (a csere parancs opcióival [hogyan] együtt)
q/ vagy q?Keresési előzmények megnyitása
:set hls vagy :set hlsearchTalálatok kiemelése
:nohls vagy :nohlsearchTalálatok kiemelésének kikapcsolása

7: Másolás-beillesztés

Y vagy yyTeljes sor másolása
[#]yyA megadott (#) számú sor másolása lefelé
yeMásolás a kurzortól a szó végéig (az utána lévő szóköz nélkül)
ywMásolás a kurzortól a szó végéig, az utána lévő szóközzel együtt
yiwTeljes szó másolása
yawTeljes szó másolása az előtte lévő szóközzel együtt
yi( vagy yi[ vagy yi”A zárójelek, idézőjelek közötti szöveg másolása
ya( vagy ya[ vagy ya"A zárójelek, idézőjelek közötti szöveg másolása a zárójellel, idézőjelekkel együtt
yitA tag-ek közötti szöveg másolása
yatA tag-ek közötti szöveg másolása a tag-ekkel együtt
yipA teljes bekezdés másolása
yapA teljes bekezdés másolása az utána lévő üres sorral együtt
y[#]f[karakter]Másolás a kurzor pozíciójától a (#)-ik [karakter]-ig (pl. y2f+ → másol a második pluszjelig)
y$Másolás a kurzortól a sor végéig
y0Másolás a kurzortól a sor elejéig
"+yy vagy "*yyTeljes sor másolása a Windows rendszer vágólapjára
D vagy d$Kivágás a kurzortól a sor végéig
d0Kivágás a kurzortól a sor elejéig
ddTeljes sor kivágása
[#]ddA megadott számú sor kivágása lefelé
deKivágás a kurzortól az aktuális szó végéig (az utána lévő szóköz nélkül)
dwKivágás a kurzortól az aktuális szó végéig, a kettő közti szóközzel együtt
diwTeljes szó kivágása
dawTeljes szó kivágása az előtte lévő szóközzel együtt
di( vagy di[ vagy di”A zárójelek, idézőjelek közötti szöveg kivágása
da(…A zárójelek, idézőjelek közötti szöveg kivágása a zárójellel, idézőjellel együtt
ditA tag-ek közötti szöveg kivágása
datA tag-ek közötti szöveg kivágása a tag-ekkel együtt
dipA teljes bekezdés kivágása
dapA teljes bekezdés kivágása az utána lévő üres sorral együtt
dggKivágás a kurzortól a fájl elejéig
dGKivágás a kurzortól a fájl végéig
"+dd vagy "*ddTeljes sor kivágása a Windows rendszer vágólapjára
pBeillesztés a kurzor után
Pbeillesztés a kurzor elé
"+p vagy "*pBeillesztés a Windows rendszer vágólapjáról
xEgy karakter törlése (számmal megadva - [#]x - több karaktert töröl)
XA kurzor előtti karakter törlése (számmal megadva - [#]X - több karaktert töröl)

8: Regiszterek másoláshoz, makrók (csak kisbetű, a nagybetű más műveletet jelent ugyanarra a regiszterre)

:regListázza a regiszterek tartalmát
"[a-z]YA [kisbetű] regiszterbe másolja az aktuális sort – regiszter felülírása
"[a-z]y[#mozgás]A [kisbetű] regiszterbe másolja a mozgással lefedett szöveget (mozgás: h/j/k/l/w/t stb…)
"[A-Z]YA [nagybetű] regiszter kiegészítése az aktuális sorral – hozzáfűzés a regiszterhez
"[A-Z]y[#mozgás]A [nagybetű] regiszter kiegészítése a mozgással lefedett szöveggel (mozgás: h/j/k/l/w/t stb…)
"[a-z]pA [kisbetű] regisztert tartalmát a kurzor után másolja – beillesztés a regiszterből
"[a-z]PA [kisbetű] regisztert tartalmát a kurzor elé másolja – beillesztés a regiszterből
"+ vagy "*A rendszer vágólapjának regisztere
q[a-z]Makró rögzítés indítása a megadott [a-z] regiszterbe
qMakró rögzítésének leállítása
q[A-Z]Makró kiegészítése a megadott [A-Z] regiszterben – hozzáfűzi a végéhez
[#]@[a-z]Makró futtatása a megadott (#) alkalommal (az alkalmak megadása opcionális)
CTRL+r + CTRL+r [regiszter]Insert módban beilleszti a regiszter tartalmát egy sorba

9: Alapvető vim parancsok, fájlműveletek

:e [file1] [file2]…Fájl(ok) megnyitása szerkesztésre – ha nem létezik, új fájl létrehozása
:e ftp://[user]@[host]//[file]Fájl megnyitása szerkesztésre a megadott FTP szerverről – a host után két / kell aztán a fájl elérési útja
:EKönyvtárstruktúra megnyitása, tallózás
:E ftp://[user]@[host]//Könyvtárstruktúra tallózása az FTP szerveren – a host után két / kell!
:wAktuális fájl (buffer) mentése – felülírás
:waAz összes nyitott fájl (buffer) mentése – felülírás
:w [új file]Mentés másként és az eredeti fájl szerkesztésének folytatása
:sav [új file]Mentés másként és az új fájl szerkesztésének folytatása
:wq vagy :x vagy ZZMentés és kilépés
:q!Kilépés mentés nélkül és kérdés nélkül
:qa!Kilépés mentés nélkül és kérdés nélkül - minden nyitott buffert bezár
uVisszavonás
[#]uA megadott (#) számú művelet visszavonása
UA teljes sor visszaállítása a legutóbbi módosítások előtti állapotra
CTRL+rMégis
. (pont)Az utolsó művelet ismétlése
gfA kurzor alatti fájlnév megnyitása – ha van, az elérési utat is követi
gxA kurzor alatti URL megnyitása böngészőben
QVáltás Ex-módba (szorszerkesztő mód). Visszatérés normál módba: vi ENTER
:r [file]Fájl tartalmának beszúrása a kurzor pozíciójától
:r![konzol parancs]Parancs eredményének beszúrása a kurzor pozíciójától
:![konzol parancs]Parancs küldése a konzolba – a Vim-en kívül
:norm [billentyűkombinációk]Normál módú parancsok (billentyűkombinációk) végrehajtása command módból
:terminalKonzol (terminál) megnyitása (:vert term → terminál megnyitása függőlegesen osztott képernyővel)
:pwdKiírja az aktuális munkakönyvtárat – amiben pl. a külső parancsok végrehajtódnak
:set im!Folyamatos insert mód be- vagy kikapcsolása
:colorscheme[space]CTRL+dA telepített színsémák listája – szóköz kell a colorscheme után!
:so $MYVIMRCKonfigurációs fájl (.vimrc) újratöltése
:XFájl titkosítása és jelszavas védelme
:help [parancs] vagy :hSúgó – a parancs opcionális, lehet egy karakter is; pl. :h d → „d”-s parancsok

10: Munka több fájllal: bufferek, ablakok

:lsAz összes megnyitott buffer (fájl) listája
:bnVáltás a következő bufferre
:bpVáltás az előző bufferre
:bd[#]Buffer (fájl) bezárása – a buffer sorszáma (#) opcionális
:sp [file]Fájl megnyitása új, vízszintesen osztott ablakban
:vsp [file]Fájl megnyitása új, függőlegesen osztott ablakban
:vert sb[#]A megadott (#) sorszámú buffer megnyitása új, függőlegesen osztott ablakban
CTRL+w + sKépernyő felosztása vízszintes ablakokra
CTRL+w + vKépernyő felosztása függőleges ablakokra
CTRL+w + qAblak bezárása
CTRL+w + wVáltás az ablakok között
CTRL+w + hVáltás az aktuálistól balra lévő ablakra
CTRL+w + kVáltás felfelé
CTRL+w + jVáltás az aktuális alatt lévő ablakra
CTRL+w + lVáltás jobbra
CTRL+w + TAktuális ablakból lap
CTRL+w + xAblakok felcserélése
CTRL+w + qAktuális ablak bezárása
CTRL+w + [#] + / -Vízszintesen osztott ablakok átméretezése, a mérték (#) megadása opcionális
CTRL+w + [#] < / >Függőlegesen osztott ablakok átméretezése, a mérték (#) megadása opcionális

11: Lapok (ez a legfelső szint, „ezeken belül” vannak a bufferek és az ablakok)

:tabsA megnyitott lapok listája
:tabedit [file]Új lapot nyit a megadott fájllal és a kurzort szerkesztésre az új lapra viszi
:tabcloseAz aktuális lap bezárása
:tab ballMinden buffert külön lapon nyit meg
gtUgrás a következő lapra
gTUgrás az előző lapra
[#]gtUgrás a megadott (#) sorszámú lapra

12: Könyvjelzők (egy karakter, kisbetű: csak az adott bufferben érvényes, nagybetű: különböző fájlok között is érvényes, számok: speciális markerek, amiket a Vim frissít a szerkesztés során)

:marksListázza a könyvjelzőket
m[1-9a-zA-Z]A megadott jelű marker létrehozása – az adott sor, adott pozíciója lesz a marker helye
`[1-9a-zA-Z]Ugrás a marker pozíciójába (magyar billentyűzeten: ` = AltGr+7)
’[1-9a-zA-Z]Ugrás a marker sorába (magyar billentyűzeten: = SHIFT+1)
y`[1-9a-zA-Z]Másolás a marker pozíciójáig
d’[1-9a-zA-Z]Kivágás a marker soráig

13: Fold (összezárható kódrészletek)

zf[#mozgás]Fold azaz összezárható kódrészlet manuális létrehozása a mozgással érintett sorokból
zoA kurzor alatti fold kinyitása
zcA kurzor alatti fold bezárása
zOAz összes fold kinyitása
zCAz összes fold bezárása
zaA kurzor alatti fold nyitott és zárt állapotának váltása
zAAz összes fold nyitott és zárt állapotának váltása
zdA kurzor alatti fold törlése
zDA kurzor alatti fold törlése a belső foldokkal együtt
zEA buffer összes foldjának törlése
:set foldmethod=[mód]Fold létrehozásának módja: manual (alapértelmezett), indent, syntax, marker, expr, diff

14: Képernyő görgetés (a kurzor mozgatása nélkül)

zzAz aktuális sor a képernyő közepére – a kurzor a helyén marad
ztAz aktuális sor a képernyő tetejére – a kurzor a helyén marad
zbAz aktuális sor a képernyő aljára – a kurzor a helyén marad
CTRL+eGörgetése le – a kurzor a helyén marad amíg el nem ér a tetejére
CTRL+yGörgetése fel – a kurzor a helyén marad amíg el nem ér az aljára

15: Alapvető személyes beállítások a _vimrc fájban

syntax onSzintaxis kiemelése
filetype onA megnyitott fájl typusának felismerése
set number relativenumberBekapcsolja a sorok számozást, de csak a kurzor pozíciójában irja ki a valós sorszámot, a többiben az eltérést mutatja lefelé vagy felfelé
set ch=1A képernyő alján, a parancssor magassága
set showmodeJelzi az aktuális módot (insert/visual/replace) a parancsmezőben
set mousehideEgér elrejtése gépelés közben
set scrolloff=8Ha a kurzor a megadott (pl. 8) sornyi távolságra megközelíti a képernyő alját vagy tetejét elkezdi görgetni a képernyőt
set colorcolumn=80Függőleges csík jelzi a 80. oszlopot
set tabstop=4Egy tabulátor karakter szélessége szóközben
set shiftwidth=4Automatikus behúzás szélessége szóközben
set softtabstop=4A TAB billentyű által beillesztett hely szélessége
set expandtabTabulátor karakter helyett szóközöket helyez el a megfelelő szélességben
set autoindentAutomatikus behúzás az előző sornak megfelelően
set smartindentA nyelv szintaxisának megfelelő automatikus behúzás
set cindentA C nyelveknek megfelelő automatikus behúzás
set shiftroundA sor elejének behúzását automatikusan a shiftwidth értékéhez kerekíti
set ignorecaseKereséskor nem különbözteti meg a kis- és nagybetűket (ez kapcsolókkal keresés közben felülírható)
set smartcaseHa a keresés csak kisbetűt tartalmaz, akkor nem különbözteti meg a kis- és nagybetűket, de ha a keresés tartalmaz legalább egy nagybetűt, akkor arra a keresésre bekapcsolja a kis- és nagybetűk megkülönböztetését.
set incsearchKereskor, gépelés közben már keresi a találatokat
set encoding=utf-8A programban megjelenő szöveg kódolását "utf-8"-ra állítja be
set autochdirAutomatikusan átváltja a munkakönyvtárat az éppen megnyitott fájl elérési útjára
set laststatus=2Státuszsor folyamatos bekapcsolása
set statusline=Státuszsor összeállítása:…
set statusline+=%{mode()}\…az aktuális mód kijelzése
set statusline+=│…elválasztó…
set statusline+=\ B%n\…buffer sorszama
set statusline+=│…elválasztó…
set statusline+=\ %<%f\ %h%m%r…aktuális fájl: elérés, help, módosítva, csak olvasható
set statusline+=│…elválasztó…
set statusline+=\ %{kite#statusline()}…Kite állapot
set statusline+=%=…képernyő jobb oldala…
set statusline+=%-14.(%2l/%L\ │\ %c%V%)…14 egység behúzása: aktuális sor / összes sor | oszlop
set statusline+=\ (%3P)…kurzor helye a dokumentumban (százalék)
autocmd VimEnter * NERDTreeA Vim indításakor automatikusan indítja a NERDTree oldalsávot is
nnoremap <A-j> :m .+1<CR>==Normál módban az ALT+j billentyűkombinációhoz rendeli a sor mozgatása lefelé és a behúzás javítása parancsot
nnoremap <A-k> :m .-2<CR>==Normál módban az ALT+k billentyűkombinációhoz rendeli a sor mozgatása felfelé és a behúzás javítása parancsot
inoremap <A-j> <Esc>:m .+1<CR>==giInsert módban az ALT+j billentyűkombinációhoz rendeli a sor mozgatása lefelé és a behúzás javítása parancsot
inoremap <A-k> <Esc>:m .-2<CR>==giInsert módban az ALT+k billentyűkombinációhoz rendeli a sor mozgatása felfelé és a behúzás javítása parancsot
vnoremap <A-j> :m '>+1<CR>gv=gvVisual módban az ALT+j billentyűkombinációhoz rendeli a sor mozgatása lefelé és a behúzás javítása parancsot
vnoremap <A-k> :m '<-2<CR>gv=gvVisual módban az ALT+k billentyűkombinációhoz rendeli a sor mozgatása felfelé és a behúzás javítása parancsot

16: A NERDTree plugin parancsai

:NERDTree [mappa]A NERDTree indítása függőlegesen osztott képernyőben (a mappa opcionális, de itt adható meg más meghajtó betűjele is)
qNERDTree bezárása
o / ENTERFájl megnyitása vagy mappa nyitása/csukása
goFájl megnyitása, de a kurzor a NERDTree-ben marad
iFájl vagy mappa megnyitása vízszintesen osztott képernyőn
giFájl vagy mappa megnyitása vízszintesen osztott képernyőn, de a kurzor a NERDTree-ben marad
sFájl vagy mappa megnyitása függőlegesen osztott képernyőn
gsFájl vagy mappa megnyitása függőlegesen osztott képernyőn, de a kurzor a NERDTree-ben marad
tFájl megnyitása új lapon és váltás arra
TFájl megnyitása új lapon, a háttérben
pUgrás a szülőkönyvtárba
pUgrás a megjelenített struktúra gyökeréhez
uA szülőkönyvtárba lépteti a megjelenített struktúrát
UA szülőkönyvtárba lépteti a megjelenített struktúrát, és nyitva tartja az aktuális könyvtárat
CA kurzor alatti mappát teszi a megjelenített struktúra gyökerének
rKurzor alatti mappa frissítése
RA teljes megjelenített struktúra frissítése
m
a / c / m / d / p
További fájlműveletek:
létrehozás / másolás / áthelyezés / törlés / útvonal másolása a vágólapra
?Súgó megjelenítése / bezárása

17: A Surround.vim plugin parancsai

S[mit]A kijelölt rész köré teszi a megadott [mit] jelet vagy tag-et
VS[nyitó tag]Beszúrja a sor fölé a nyitó tag-et, alá pedig automatikusan létrehozza a lezáró tag-et
ysiw[mit]A kurzor alatti szó köré teszi a megadott [mit] jelet vagy tag-et
ysi([mit]A zárójelen belül található tartalom köré teszi a megadott [mit] jelet vagy tag-et (más fajta zárójel is megadható)
yss[mit]A teljes sor köré teszi a megadott [mit] jelet vagy tag-et, sortörés nélkül
cs[mit][mire]Cseréli a határoló jelet [mit] (idézőjel, zárójel, speciális karakter…) a megadott [mire] jelre vagy tag-re (a tag-et automatikusan lezárja)
cst[mire]Cseréli a határoló tag-et a megadott [mire] jelre vagy tag-re
ds[mit]Törli a megadott [mit] határoló jelet
dstTörli a határoló tag-et
…( / { / [Nyitó zárójel megadásával a zárójeleket szóközzel elválasztva szúrja be az érintett rész köré
…) / } / ]Lezáró zárójel megadásával a zárójeleket szóköz nélkül szúrja be az érintett rész köré

18: A Vim módjai és a köztük való átjárás sematikus ábrája

A Vim alapértelmezett módja a NORMAL mód, amelyből (többek között) az alábbi billentyűparancsokkal lehet belépni más módokba.

Bármelyik módból az ESC gombbal lehet visszajutni a NORMAL módba (kivéve az Ex-módot, ahonnan a vi parancsot kell használni).

INSERT        VISUAL
     \        /
    i,a,s…   v…
       \    /
       NORMAL
       / |  \
      :  |   R
     /   Q    \
COMMAND  |    REPLACE
         |
      EX-MODE