これはhttp://rtorruellas.com/vim-cheat-sheet/を和訳、一部加筆したものです。
カーソル移動
h -左移動
j -下に移動
k -上に移動
l -右に移動
w -単語の先頭へジャンプ(区切り文字まで)
W -単語の先頭へジャンプ(区切り文字を含めない)
e -単語の最後にジャンプ(区切り文字まで)
E -単語の最後にジャンプ(区切り文字を含めない)
b -単語の先頭へ戻る(区切り文字まで)
B -単語の先頭へ戻る(区切り文字を含めない)
0 -先頭に移動
^ -行の最初の文字へ移動
$ -行の終わりへ移動
G -最終行へ移動(番号を付けるとその行へ移動- 5Gは 5行目へ)
ヒント
これらのコマンドの前に番号を付けるとその回数分繰り返します。
例えば、4Jは 4行下に移動します。
insertモード - テキストを追加/挿入
i -カーソル位置で挿入モードを開始
I -行の先頭で挿入モードを開始
a -カーソル位置の直後で挿入モードを開始
A -行の末尾で挿入モードを開始
o -現在の行の下に空白行を追加して挿入モードを開始
O -現在の行の上に空白行を追加して挿入モードを開始
ea -単語の末尾で挿入モードを開始
ESC -挿入モードを終了
編集
r -単一の文字を置き換える(挿入モードを使用しません)
J -現在の行と次の行を統合する
cc -現在の行を削除して挿入モードを開始
cw -カーソル位置の単語を削除して挿入モードを開始
c$ -カーソル位置から行末までを削除して挿入モードを開始
s -カーソル位置の文字を削除して挿入モードを開始
S - 現在の行を削除して挿入モードを開始(CCと同じ)
xp -カーソル位置と次の文字を入れ替える(技術的にはカットしてペースト)
u -元に戻す(アンドゥ)
CTRL+r -やり直し(リドゥ)
. - 最後に使ったコマンドを行う
テキストの選択(ビジュアルモード)
v - ビジュアルモード開始。移動すると選択してその後にコマンドを実行できる(例えばY-ヤンク)
V -行単位のビジュアルモードを開始
o -選択範囲の反対側に移動する
CTRL+v -ビジュアルブロックモードを開始
O -ブロックの他のコーナーに移動する
aw -単語をマーク
ab -()ブロックを選択(括弧ごと)
aB - {}ブロックを選択(括弧ごと)
ib -()ブロックを選択(括弧を除く)
iB - {}ブロックを選択(括弧を除く)
ESC -ビジュアルモード終了
ビジュアルモードでのコマンド
> - 選択範囲を右シフト
< - 選択範囲を左シフト
Y - 選択範囲をヤンク(コピー)
D - 選択範囲を削除する
~ - 大文字と小文字を入れ替える
ヒント
ビジュアルブロックモードで選択してシフトすると、選択位置からシフトできます。
カット&ペースト
yy - 現在の行をヤンク(コピー)
2yy - 2行をヤンク
yw - カーソル位置の単語をヤンク
y$ - 現在行の行末までヤンク
p - カーソル位置の後にペースト
P - カーソル位置の前にペースト
dd - 現在の行をカット(コピーして削除)
2dd - 2行をカット
dw - カーソル位置の単語をカット
D - カーソル位置から行末までカット
d$ - カーソル位置から行末までカット(Dと同じ)
X - 現在の文字をカットする
終了
:w - 終了せずに保存
:wq - 保存して終了
:x - 保存して終了
:q - 保存せずに終了(変更点がある場合は終了できない)
:q! - 保存せずに終了(変更点がある場合は破棄される)
検索/置換
/文字列 - 文字列を検索
?文字列 - 文字列を逆方向に検索
n -同じ方向に再検索
N -逆方向に再検索
:%s/old/new/g - ファイル全体でoldをnewに置き換える
:%s/old/new/gc - ファイル全体でoldをnewに置き換える(確認あり)
複数のファイルでの作業
:e ファイル名 - 新しいバッファでファイルを編集
:bname または:bn - 次のバッファに移動
:bprev または:bp - 前のバッファへ移動
:bd -バッファを削除(ファイルを閉じる)
:sp ファイル名 - 新しいバッファおよび分割ウィンドウでファイルを編集
:vsp ファイル名 - 新しいバッファおよび垂直分割ウィンドウでファイルを開きます
Ctrl+ws - スプリットウィンドウ
Ctrl+ww - ウィンドウを切り替える
Ctrl+wq - ウィンドウを終了します
Ctrl+wv - 垂直分割ウィンドウ
補足
当方環境ではCtrl+ws,Ctrl+wqが機能しませんでした。
タブ
:tabnew ファイル名 - 新しいタブで(ファイル名)を開く
:tabn ファイル名 - 同上
Ctrl+wt -独自のタブに現在の分割ウィンドウを移動
gt - 次のタブに移動する
:tabnext - 同上
:tabn - 同上
gT - 前のタブに移動する
:tabprev - 同上
:tabp - 同上
(n)gt - タブ番号(n)への移動
:tabmove(n) - 位置(n)番目に移動(左端が0)
:tabclose - 現在のタブを閉じる
:tabc - 同上
:tabonly - 現在の1を除く他のすべてのタブを閉じる
:tabo - 同上
補足
当方環境ではCtrl+wtが機能しませんでした。