Global
- :h[elp] keyword - segítség megnyitása kulcsszóhoz
- :sav[eas] file - fájl mentése másként
- :clo[se] - aktuális ablak bezárása
- :ter[minal] - terminálablak megnyitása
- K - man oldal megnyitása a kurzor alatti szóhoz
Kurzormozgás
- h - kurzort balra mozgatás
- j - kurzort lefelé mozgatás
- k - kurzort felfelé mozgatás
- l - kurzort jobbra mozgatás
- gj - kurzort lefelé mozgatás (többsoros szövegben)
- gk - kurzort felfelé mozgatás (többsoros szövegben)
- H - ugrás a képernyő tetejére
- M - ugrás a képernyő közepére
- L - ugrás a képernyő aljára
- w - ugrás előre egy szó elejére
- W - ugrás előre egy szó elejére (szavak tartalmazhatnak írásjeleket is)
- e - ugrás előre egy szó végére
- E - ugrás előre egy szó végére (szavak tartalmazhatnak írásjeleket is)
- b - ugrás hátra egy szó elejére
- B - ugrás hátra egy szó elejére (szavak tartalmazhatnak írásjeleket is)
- ge - ugrás hátra egy szó végére
- gE - ugrás hátra egy szó végére (szavak tartalmazhatnak írásjeleket is)
-
% - kurzor pozícionálása a megfelelő karakterre (alapértelmezett támogatott párok: '()', '{}', '[]' - további információkért használd a
:h matchpairs
parancsot a Vimben) - 0 - ugrás a sor elejére
- ^ - ugrás a sor első nem-szóköz karakterére
- $ - ugrás a sor végére
- g_ - ugrás a sor utolsó nem-szóköz karakterére
- gg - ugrás a dokumentum első sorára
- G - ugrás a dokumentum utolsó sorára
- 5gg or 5G - ugrás az 5. sorra
- gd - ugrás a helyi deklarációra
- gD - ugrás a globális deklarációra
- fx - ugrás a karakter x következő előfordulására
- tx - ugrás a karakter x előtti következő előfordulás elé
- Fx - ugrás a karakter x előző előfordulására
- Tx - ugrás a karakter x előző előfordulás utánra
- ; - ismétlés az előző f, t, F vagy T mozgásnak
- , - ismétlés az előző f, t, F vagy T mozgásnak hátrafele
- } - ugrás a következő bekezdésre (vagy funkcióra/blockra, ha kódot szerkesztesz)
- { - ugrás az előző bekezdésre (vagy funkcióra/blockra, ha kódot szerkesztesz)
- zz - kurzor középre állítása a képernyőn
- zt - kurzor pozícionálása a képernyő tetejére
- zb - kurzor pozícionálása a képernyő aljára
- Ctrl + e - képernyő lefelé egy sorral (kurzor mozgatása nélkül)
- Ctrl + y - képernyő felfelé egy sorral (kurzor mozgatása nélkül)
- Ctrl + b - képernyő felfelé egy oldallal (kurzor az utolsó sorra)
- Ctrl + f - képernyő lefelé egy oldallal (kurzor az első sorra)
- Ctrl + d - kurzor és képernyő lefelé 1/2 oldallal
- Ctrl + u - kurzor és képernyő felfelé 1/2 oldallal
Beszúrási mód - beszúrás/bővítés szöveghez
- i - beszúrás a kurzor előtt
- I - beszúrás a sor elején
- a - beszúrás (bővítés) a kurzor után
- A - beszúrás (bővítés) a sor végén
- o - új sor beszúrása a jelenlegi sor alá
- O - új sor beszúrása a jelenlegi sor fölé
- ea - beszúrás (bővítés) a szó végére
- Ctrl + h - karakter törlése a kurzor előtt beszúrás közben
- Ctrl + w - szó törlése a kurzor előtt beszúrás közben
- Ctrl + j - sortörés hozzáadása a kurzor pozíciójához beszúrás közben
- Ctrl + t - bekezdésig való behúzás (jobbra mozgatás) egy sornyi lépéssel beszúrás közben
- Ctrl + d - bekezdésig való kihúzás (balra mozgatás) egy sornyi lépéssel beszúrás közben
- Ctrl + n - beszúrás (automatikus befejezés) a kurzor előtt a következő találatból beszúrás közben
- Ctrl + p - beszúrás (automatikus befejezés) a kurzor előtt az előző találatból beszúrás közben
- Ctrl + rx - a 'x' regiszter tartalmának beszúrása
- Ctrl + ox - Ideiglenes átváltás normál módba egy normál mód parancs futtatásához 'x' betűvel.
- Esc or Ctrl + c - kilépés a beszúrási módból
Szerkesztés
- r - egy karakter helyettesítése.
- R - több karakter helyettesítése, amíg meg nem nyomod az ESC-t.
- J - a sor alatti sor összefűzése egy szóközzel
- gJ - a sor alatti sor összefűzése szóköz nélkül
- gwip - bekezdés újraformázása
- g~ - kapcsolja át a kisbetűket a kurzor helyzetéig
- gu - átváltás kisbetűre a kurzor helyzetéig
- gU - átváltás nagybetűre a kurzor helyzetéig
- cc - sor teljes cseréje
- c$ or C - cserélés a sor végéig
- ciw - szó teljes cseréje
- cw or ce - cserélés a szó végéig
- s - karakter törlése és szöveg beillesztése
- S - sor törlése és szöveg beillesztése (ugyanaz, mint cc)
- xp - két karakter felcserélése (törlés és beillesztés)
- u - visszavonás
- U - visszaállítás (visszavonás) az utolsó megváltoztatott sorra
- Ctrl + r - újra
- . - az utolsó parancs ismétlése
Szöveg kijelölése (vizuális mód)
- v - vizuális mód indítása, sorok kijelölése, majd parancs végrehajtása (pl. yank)
- V - sortöréses vizuális mód indítása
- o - ugrás a kijelölt terület másik végére
- Ctrl + v - vizuális blokk mód indítása
- O - ugrás a blokk másik sarkához
- aw - szó kijelölése
- ab - blokk kijelölése ()-al
- aB - blokk kijelölése {}-al
- at - blokk kijelölése <> címkékkel
- ib - belső blokk kijelölése ()-al
- iB - belső blokk kijelölése {}-al
- it - belső blokk kijelölése <> címkékkel
- Esc or Ctrl + c - kilépés a vizuális módból
Vizuális parancsok
- > - szöveg jobbra mozgatása
- < - szöveg balra mozgatása
- y - kijelölt szöveg másolása
- d - kijelölt szöveg törlése
- ~ - kis- és nagybetű váltás
- u - kijelölt szöveg kisbetűvé alakítása
- U - kijelölt szöveg nagybetűvé alakítása
Regiszterek
- :reg[isters] - regiszter tartalmának megjelenítése
- "xy - regiszter x-be való másolás
- "xp - regiszter x tartalmának beillesztése
- "+y - beillesztés a rendszer vágólap regiszterbe
- "+p - beillesztés a rendszer vágólap regiszterből
0 - utolsó másolás
" - névtelen regiszter, utolsó törlés vagy másolás
% - aktuális fájlnév
# - alternatív fájlnév
* - vágólap tartalma (X11 elsődleges)
+ - vágólap tartalma (X11 vágólap)
/ - utolsó keresési minta
: - utolsó parancssor
. - utolsó beillesztett szöveg
- - utolsó kis (egy soron belüli) törlés
= - kifejezés regiszter
_ - fekete lyuk regiszter
Jelölések és pozíciók
- :marks - jelölések listája
- ma - aktuális pozíció beállítása az 'A' jelzéshez
- `a - ugrás az 'A' jelzés pozíciójához
- y`a - szöveg másolása az 'A' jelzés pozíciójába
- `0 - ugrás az utolsó Vim kilépési helyéhez
- `" - ugrás a legutóbbi szerkesztés helyéhez ebben a fájlban
- `. - ugrás az utolsó változás helyéhez ebben a fájlban
- `` - ugrás az utolsó ugrás előtti helyhez
- :ju[mps] - ugrások listája
- Ctrl + i - ugrás a legújabb helyhez az ugrás listában
- Ctrl + o - ugrás a legutóbbi helyhez az ugrás listában
- :changes - változások listája
- g, - ugrás a legújabb helyhez a változás listában
- g; - ugrás a legutóbbi helyhez a változás listában
- Ctrl + ] - ugrás az aktuális kurzor alatti címkehez
Makrók
- qa - makró 'a' rögzítése
- q - makró rögzítésének leállítása
- @a - makró 'a' futtatása
- @@ - utoljára futtatott makró újra futtatása
Vágás és beillesztés
- yy - sor másolása
- 2yy - 2 sor másolása
- yw - a kurzor helyzetétől a következő szó elejéig tartó karakterek másolása
- yiw - a kurzor alatti szó másolása
- yaw - a kurzor alatti szó és előtte vagy utána levő szóköz másolása
- y$ or Y - a kurzor helyzetétől a sor végéig tartó szöveg másolása
- p - vágólap beillesztése a kurzor után
- P - vágólap beillesztése a kurzor előtt
- gp - vágólap beillesztése a kurzor után, és a kurzort az új szöveg után hagyja
- gP - vágólap beillesztése a kurzor előtt, és a kurzort az új szöveg után hagyja
- dd - sor törlése
- 2dd - 2 sor törlése
- dw - a kurzor helyzetétől a következő szó elejéig tartó karakterek törlése
- diw - a kurzor alatti szó törlése
- daw - a kurzor alatti szó és előtte vagy utána levő szóköz törlése
- :3,5d - 3-tól 5-ig terjedő sorok törlése
e.g.
:.,$d - Az aktuális sortól a fájl végéig
:.,1d - Az aktuális sortól a fájl elejéig
:10,1d - A 10. sortól a fájl elejéig
- :g/{pattern}/d - a mintát tartalmazó összes sor törlése
- :g!/{pattern}/d - nem tartalmaz mintát az összes sor törlése
- d$ or D - a kurzor helyzetétől a sor végéig tartó szöveg törlése
- x - karakter törlése
Szöveg behúzása
- >> - egy sor behúzása egy tabulálás mérettel jobbra
- << - egy sor behúzása egy tabulálás mérettel balra
- >% - blokk behúzása () vagy {} címkékkel (kurzor a kapcsos zárójel fölött)
- <% - de-indent a block with () or {} (cursor on brace)
- >ib - belső blokk behúzása ()-al
- >at - indent a block with <> tags
- 3== - re-indent 3 lines
- =% - re-indent a block with () or {} (cursor on brace)
- =iB - re-indent inner block with {}
- gg=G - re-indent entire buffer
- ]p - paste and adjust indent to current line
Kilépés
- :w - write (save) the file, but don't exit
- :w !sudo tee % - write out the current file using sudo
- :wq or :x or ZZ - write (save) and quit
- :q - quit (fails if there are unsaved changes)
- :q! or ZQ - quit and throw away unsaved changes
- :wqa - write (save) and quit on all tabs
Keresés és csere
- /pattern - search for pattern
- ?pattern - search backward for pattern
- \vpattern - 'very magic' pattern: non-alphanumeric characters are interpreted as special regex symbols (no escaping needed)
- n - következő találat
- N - előző találat
- :%s/old/new/g - replace all old with new throughout file
- :%s/old/new/gc - replace all old with new throughout file with confirmations
- :noh[lsearch] - remove highlighting of search matches
Több fájl keresése
- :vim[grep] /pattern/ {`{file}`} - search for pattern in multiple files
- :cn[ext] - jump to the next match
- :cp[revious] - jump to the previous match
- :cope[n] - open a window containing the list of matches
- :ccl[ose] - close the quickfix window
Tabs
- :tabnew or :tabnew {page.words.file} - open a file in a new tab
- Ctrl + wT - move the current split window into its own tab
- gt or :tabn[ext] - move to the next tab
- gT or :tabp[revious] - move to the previous tab
- #gt - move to tab number #
- :tabm[ove] # - move current tab to the #th position (indexed from 0)
- :tabc[lose] - close the current tab and all its windows
- :tabo[nly] - close all tabs except for the current one
-
:tabdo command - run the
command
on all tabs (e.g.:tabdo q
- closes all opened tabs)
Working with multiple files
- :e[dit] file - edit a file in a new buffer
- :bn[ext] - go to the next buffer
- :bp[revious] - go to the previous buffer
- :bd[elete] - delete a buffer (close a file)
- :b[uffer]# - go to a buffer by index #
- :b[uffer] file - go to a buffer by file
- :ls or :buffers - list all open buffers
- :sp[lit] file - open a file in a new buffer and split window
- :vs[plit] file - open a file in a new buffer and vertically split window
- :vert[ical] ba[ll] - edit all buffers as vertical windows
- :tab ba[ll] - edit all buffers as tabs
- Ctrl + ws - split window
- Ctrl + wv - split window vertically
- Ctrl + ww - switch windows
- Ctrl + wq - quit a window
- Ctrl + wx - exchange current window with next one
- Ctrl + w= - make all windows equal height & width
- Ctrl + wh - move cursor to the left window (vertical split)
- Ctrl + wl - move cursor to the right window (vertical split)
- Ctrl + wj - move cursor to the window below (horizontal split)
- Ctrl + wk - move cursor to the window above (horizontal split)
- Ctrl + wH - make current window full height at far left (leftmost vertical window)
- Ctrl + wL - make current window full height at far right (rightmost vertical window)
- Ctrl + wJ - make current window full width at the very bottom (bottommost horizontal window)
- Ctrl + wK - make current window full width at the very top (topmost horizontal window)
Diff
- zf - manually define a fold up to motion
- zd - delete fold under the cursor
- za - toggle fold under the cursor
- zo - open fold under the cursor
- zc - close fold under the cursor
- zr - reduce (open) all folds by one level
- zm - fold more (close) all folds by one level
- zi - toggle folding functionality
- ]c - jump to start of next change
- [c - jump to start of previous change
- do or :diffg[et] - obtain (get) difference (from other buffer)
- dp or :diffpu[t] - put difference (to other buffer)
- :diffthis - make current window part of diff
- :dif[fupdate] - update differences
- :diffo[ff] - switch off diff mode for current window