eby powtrzy jak komend kilkakrotnie poprzed jej wydanie stosown liczb.

h           kursor w lewo
j           kursor w d
k           kursor w gr
l           kursor w prawo
w           kursor w prawo na pocztek wyrazu
b           kursor w lewo na pocztek wyrazu 
e           kursor w prawo na koniec wyrazu
ge          kursor w lewo na koniec wyrazu
)           kursor do nastpnego zdania
(           kursor do poprzedniego zdania
}           kursor do nastpnego paragrafu
{           kursor do poprzedniego paragrafu
0           kursor na pocztek linii (rwnowany HOME)
^           kursor na pierwszy widzialny znak
$           kursor na koniec linii (rwnowany END)
g0,g^,g$    to samo, co bez g, rnica w liniach dugich (jako lini traktuje
gj,gk       to, co jest wywietlane w jednej linii, a nie to, co jest
            zakoczone znakiem nowej linii)
[num]|      przesu kursor do kolumny [num]
f[znak]     kursor na nastpny napotkany znak [znak] w linii
F[znak]     kursor na poprzedni napotkany znak [znak] w linii
t[znak]     kursor przed nastpny napotkany znak [znak] w linii
T[znak]     kursor przed poprzedni napotkany znak [znak] w linii
;           powtrz ostatnie f,F,t,T
,           powtrz ostatnie f,F,t,T w przeciwnym kierunku
%           kursor do zamykajcego nawiasu
z<Enter>    przewi ekran tak, eby kursor by w grnej linii
zz          przewi ekran tak, eby kursor by w rodkowej linii
zb          przewi ekran tak, eby kursor by w dolnej linii
[num]%      przesu kursor do pozycji [num] procent w buforze
[#]g[kier]  przesu kursor o # linii w kierunku [kier]
[#]gg       przesu kursor do # linii (domylnie do pierwszej)
[#]G        przesu kursor do # linii (domylnie do ostatniej)
[#]H        przesu kursor do # wywietlanej linii
M           przesu kursor do rodkowej wywietlanej linii
[#]L        przesu kursor do linii wywietlanej jako #-tej od koca
[#]go       przesu kursor do # bajtu w buforze
^E          przewi ekran o lini w d
^D          przewi ekran o 1/2 strony w d
^F          przewi ekran o ca stron w d
^Y          przewi ekran o lini w gr
^U          przewi ekran o 1/2 strony w gr
^B          przewi ekran o ca stron w gr
^G          wywietl aktualn pozycj
ga          wywietl warto ASCII znaku pod kursorem
g ^G        wywietl szczegow pozycj kursora
m[mark]     ustaw znacznik [mark] pod kursorem
`[mark]     id do znacznika [mark] (` to znak pod tyld, nie pod cudzysowiem)
``          id do pozycji przed ostatnim skokiem (jw.)
'[mark]     id do linii ze znacznikiem [mark] (' to znak pod cudzysowiem)
''          id do pozycji przed ostatnim skokiem (jw.)
[',[`       id do najbliszego wyszego znacznika maoliterowego
]',]`       id do najbliszego niszego znacznika maoliterowego
:marks      wypisz wszystkie znaczniki
^]          skocz do znacznika spod kursora (wygodne przy help-ie)
:tag[tag]   skocz do znacznika o nazwie [tag]
:[num]tag   skocz do znacznika o numerze [num]
^O          skocz do poprzedniej pozycji kursora (wszelkie skoki)
<Tab>,^I    skocz do nastpnej pozycji kursora



i           tryb INSERT
I           tryb INSERT kursor na pocztku wiersza
a           tryb INSERT kursor o znak dalej
A           tryb INSERT kursor na kocu linii
cc,C        tryb INSERT wyczyszczona aktualna linia
cw,ce,c$,c^ tryb INSERT wyczyszczone jak w 'd*'
s           tryb INSERT kasowany aktualny znak
o           tryb INSERT nowa linia za aktualn
O           tryb INSERT nowa linia przed aktualn
R           tryb REPLACE
v           tryb VISUAL (zaznaczanie tekstu)
V           tryb VISUAL LINE (zaznaczanie caych linii)
^V          tryb VISUAL BLOCK (zaznaczanie kolumnowe)

x           usu znak zza kursora
X           usu znak sprzed kursora
d [kier]    usu znak w kierunku [kier]
dd          usu ca lini
dw          usu znaki od kursora do koca wyrazu i spacj koczc
de          usu znaki od kursora do koca wyrazu
d^          usu znaki midzy pocztkiem linii i kursorem
d$,D        usu znaki od kursora do koca linii
J           pocz aktualn lini z nastpn (w miejsce EOL wstaw spacj)
gJ          jw., ale bez wstawiania spacji
gv          przywr ostatnie zaznaczenie
r [char]    zamie znak pod kursorem na [char]
.           powtrz ostatni operacj
^C,^[       dziaa jak ESCAPE
o           VISUAL: zamie pocztek zaznaczania i kursor
c           VISUALe: zamie zaznaczenie na wpisany tekst
            VISUAL BLOCK: zmie zaznaczenia we wszyskich zaznaczonych liniach
C           VISUAL BLOCK: zmie zaznaczenia do koca linii
d           VISUALe: usu zaznaczony tekst
J           VISUALe: pocz zaznaczenie w jedn lini (zmie EOL na spacje)
gJ          VISUALe: jw., ale bez spacji
ab,a),a(    VISUALe: rozszerz zaznaczenie o (...) (z nawiasami)
aB,a},a{    VISUALe: rozszerz zaznaczenie o {...} (z nawiasami)
a],a[       VISUALe: rozszerz zaznaczenie o [...] (z nawiasami)
a>,a<       VISUALe: rozszerz zaznaczenie o <...> (z nawiasami)
aw          VISUALe: rozszerz zaznaczenie o sowo
ib,i),i(    VISUALe: rozszerz zaznaczenie o (...) (bez nawiasw)
iB,i},i{    VISUALe: rozszerz zaznaczenie o {...} (bez nawiasw)
i],i[       VISUALe: rozszerz zaznaczenie o [...] (bez nawiasw)
i>,i<       VISUALe: rozszerz zaznaczenie o <...> (bez nawiasw)
^V ###      Edycja (INSERT i komendy ':xxx'): wstaw znak o kodzie ###
^R @        Edycja: wstaw zawarto rejestru @
^R ^O @     Edycja: wstaw zawarto rejestru @ i nie indentuj tego
^W          Edycja: usu sowo przed kursorem
^U          Edycja: usu znaki od pocztku wiersza do kursora (w linii polece
            czyci wszystko)
^T          INSERT: wetnij tekst o szeroko shiftwidth
^D          INSERT: skasuj wcicie tekstu o szeroko shiftwidth
^U          INSERT: skasuj znaki od pocztku wiersza do kursora
^Y          INSERT: przepisz znak z poprzedniej linii
^E          INSERT: przepisz znak z nastpnej linii
^P          INSERT: autouzupenienie nastpnym pasujcym sowem w pliku
^N          INSERT: autouzupenienie poprzednim pasujcym sowem w pliku
^O          INSERT: tymczasowo wyjd do trybu wydawania polece
^X          INSERT: rne efekty:
  ^E        przewijanie w d
  ^Y        przewijanie w gr
  ^L        dokoczenie linii z bufora
  ^]        dokoczenie nazwy znacznika
  ^F        dokoczenie nazwy pliku
  ^I        dokoczenie sowa z plikw include
  ^K        dokoczenie sowa kluczowego ze sownika
  ^D        dokoczenie makra/definicji (#define ...)
  ^N        dokoczenie sowa z bufora (nastpne pasujce)
  ^P        dokoczenie sowa z bufora (poprzednie pasujce)



~           zmie case znaku pod kursorem i przesu kursor
g~~         zmie case caej linii
gU [kier]   zmie liter w kierunku [kier] na du
gUU         zamie litery w linii na due
gu [kier]   zmie liter w kierunku [kier] na ma
guu         zamie litery w linii na mae

:[range]copy [adr]     skopiuj linie [ran] za lini [adr]
:[range]move [adr]     przesu linie [ran] za lini [adr]
                       zakresy:
                         1      linia 1
                         1,10   linie 1 do 10
                         ,10    std do linii 10
                         +1     jedna linia dalej
                         %      cay plik
                         *      widoczny fragment
gq [kier]           formatuje (obcina tekst do szerokoci okna) linie wskazane
                    przez kierunek [kier]
gqgq, gqq           formatuje aktualn lini
:[ran]center [szer] centruje linie z zakresu [ran] (prawy margines
                    na kolumnie [szer])
:[ran]right [szer]  wyrwnuje linie z zakresu do prawej (prawy margines
                    na kolumnie [szer])
:[ran]left [ind]    wyrwnuje linie z zakresu do lewej
                    (lewy margines na kolumnie [ind])

/           wyszukaj nastpny  tekst w pliku (bez argumentu powtarza do przodu
            ostatnie wyszukiwanie)
?           wyszukaj poprzedni tekst w pliku (jw., tylko do tyu)
n           nastpny znaleziony tekst
N           poprzedni znaleziony tekst
*           wyszukaj nastpny  wyraz najbliszy kursorowi
#           wyszukaj poprzedni wyraz najbliszy kursorowi
:nohl       przesta podwietla wyszukanie (a do nastpnego szukania)
:[ran]s/@1/@2    zamie pierwsze wystpienie @1 w liniach [ran] na @2
:[ran]s/@1/@2/g  zamie wszystkie wystpienia @1 w liniach [ran] @1 na @2

:reg        wywietl zawarto wszystkich rejestrw (schowkw)
:reg [arg]  wywietl zawarto rejestru [arg]
"x y[kier]  kopiuj znak/zaznaczenie do rejestru x
"x yy       kopiuj ca lini do rejestru x
"x x        przenie znak/zaznaczenie do rejestru x (co jak wytnij)
"x p        wstaw zawarto rejestru x za kursorem
"x P        wstaw zawarto rejestru x przed kursorem (kursor za wstawieniem)
"x gp       wstaw rejestr x za kursorem i ustaw kursor za wstawieniem
"x gP       wstaw rejestr x przed kursorem i ustaw kursor za wstawieniem
q [reg]     zapisz wciskane klawisze do rejestru [reg], koniec na 'q'
@ [reg]     wykonaj klawisze z rejestru [reg]
:let @[reg] = "text"   ustaw zawarto rejestru [reg] na "text"
                       rejestry:
                          a-z 1-0 rejestry nazwane
                          A-Z dopisz do rejestru o odpowiedniej maej literce
                          " rejestr nienazwany (uywany do wszystkiego)
                          = rejestr artymetyczny (wpisujesz wyr. arytm.,
                            dostajesz jego wynik)



^W s       zduplikuj aktywne okno (okno ma podany rozmiar)
^W v       zduplikuj aktywne okno poziomo
[n]^W ^    otwrz bufor alternatywny (lub n-ty) w nowym oknie
[n]^^      edytuj w tym samym oknie bufor elternatywny (lub n-ty)
^W c       zamknicie aktualnego okna
^W n       nowe okno z pustym buforem
^W [kier]  przejcie o zadan ilo okien w kierunku [kier]
^W ^W      przewijanie w d, po ostatnim oknie pierwsze
^W o       zamknicie wszystkich pozostaych okien
^W p       przejcie do poprzednio uywanego okna
^W r       przewinicie okien w d (1-2, 2-3, 3-4 itd.)
^W R       przewinicie okien w gr (2-1, 3-2, 4-3 itd.)
^W x       zamiana aktywnego okna z nastpnym
^W =       wszystkie okna z jednakowym rozmiarem
^W +       zwiksz rozmiar okna o zadan ilo linii
^W -       zmniejsz rozmiar okna o zadan ilo linii
^W _       ustaw rozmiar okna na zadan ilo linii
z[n]<Enter>  ustaw rozmiar okna na zadan ilo linii
^W ]       zduplikuj aktywne okno i skocz do znacznika spod kursora
           (przydatne przy help-ie)
:split         to samo, co ^W s
:split [#n|t]  tworzy nowe okno z buforem o numerze bn lub nazwie t
               (przed numerem koniecznie znaczek '#')
:close         to samo, co ^W c
:new           to samo, co ^W n
:resize [n]    zmie rozmiar okna do [n] (wzgldem obecnego: + i -)
:ls         listuje bufory
:bdelete #  usuwa bufor #
:buffer #   edytuje w aktualnym oknie bufor #
:sbuffer #  otwiera nowe okno i edytuje w nim bufor #

:f [plik]   znajd (otwrz) plik nazwie [plik]
:sf [plik]  znajd plik o nazwie [plik] i edytuj go w nowym oknie
gf          znajd plik o nazwie pod kursorem
^W f        znajd plik o nazwie pod kursorem i edytuj go w nowym oknie
:q[uit]     wyjd z vim-a
:w[rite]    zapisz bufor
:wq,:x      wyjd z vim-a zapisaniem aktualnego bufora
:qa,:wa,:xa operacja dla wszystkich buforw
:e[dit] [f] zaaduj plik [f] z dysku
:[ran]w [f] zapisz linie [ran] do pliku o nazwie [f]
:r[ead] [f] wstaw plik o nazwie [f] w nastpnej linii
:set [opt]?       poka warto opcji [opt]
:set [opt]&       ustaw stan opcji na domylny
:set [opt]        wcz opcj [opt]  (opcje typu w/wy)
:set no[opt]      wycz opcj [opt] (opcje typu w/wy)
:set [opt]!       zmie stan opcji   (opcje typu w/wy)
:set [opt]=[val]  ustaw stan opcji na [val] (obsuguje przypisania zoone)
:syntax [on/off]  podwietlanie skadniowe

UYTECZNE OPCJE typu w/wy (:set xxx / :set noxxx):
  is       "incremental search" wyszukuje tekst przy kadym naciniciu klawisza
  ic       "ignore case"        nie rozrnia maych i duych liter
  hls      "highlight search"   nie podwietla znalezie
  ai       "auto indent"        autowcicia
  cin      "c indenting"        dodatkowe wcicia, specyficzne dla jzyka C/C++
  si       "smart indent"       podobne do cin
UYTECZNE OPCJE typu tekst (set xxx=wartosc):
  filetype=cpp, c, html, pl, js, php i inne (zmiana typu podwietlania skadni)
  syntax = ON, OFF (w/wy podwietlania skadni)



Fold to zwinicie kilku linii tekstu w jedn lini

zf[kier]    utwrz fold
zd          usu fold
zc          zamknij fold
zo          otwrz fold
zR          otwrz wszystkie foldy
zM          zamknij wszystkie foldy
zj          przejd do pocztku nastpnego folda
zk          przejd do koca poprzedniego folda
[z          przejd do pocztku aktualnego folda
]z          przejd do koca aktualnego folda

-----------------------------------------------------------------------------

Klawisze dla programisty C/C++:
^W d        otwrz w nowym oknie miejsce #definiowania sowa
[ ^D        skocz do pierwszego #definiowania sowa
[D          wylistuj wszystkie wystpienia #definicji sowa
[d          wypisz pierwsze wystpienie #definicji sowa
^W i        otwrz w nowym oknie miejsce zadeklarowania identyfikatora
[ ^I        skocz do pierwszego wystpienia sowa
[I          wylistuj wszystkie wystpienia sowa
[i          wypisz pierwsze wystpienie sowa
[(          skocz do poprzedniego otwartego i nie zamknitego nawiasu
])          skocz do nastpnego zamknitego, a nie otwartego nawiasu
gD          skocz do deklaracji sowa w obecnym pliku
gd          skocz do deklaracji sowa w obecnej funkcji

