viコマンドリファレンス
a挿入モードにはいる(カーソルの後)

b前の単語に戻る

c 次に続く移動コマンドの場所まで変更

d 次に続く移動コマンドの場所まで削除

e 単語の最後の文字に移動

f 行の中で指定された文字を末尾方向に探索

h 左に1文字移動

r 1文字置き換え

i 挿入モードにはいる(カーソルの前)

j 下の行に移動

k 上の行に移動

l 右に1文字移動

m 行にマークを付ける

n 前に行われた検索を繰り返す

o 挿入モードにはいる(カーソルの下に新しい行を作る)

p バッファの内容をカーソルの後(下の行)に挿入

s 1文字を別の文字列に置き換える

t 行の中で指定された文字を末尾方向に探索し、その前に移動

u テキストの変更を取り消す

w 次の単語の先頭に移動

x カーソルのある場所の文字を削除

y 次に続く移動コマンドの場所までバッファに記憶

A 挿入モードにはいる(行末に移動)

B 前の単語に戻る(空白のみを区切りと解釈)

C c$と同じ

D d$と同じ

E 単語の最後の文字に移動(空白のみを区切りと解釈)

F 行の中で指定された文字を先頭方向に探索

G 指定された行番号の行へジャンプ

I 挿入モードにはいる(行の先頭に移動)

J カーソルのある行と次の行を連結

L 画面の一番下の行に移動

M 画面の中央の行に移動

N 前に行われた検索を、反対方向に繰り返す
H 画面の一番上の行に移動

O 挿入モードにはいる(カーソルの上に新しい行を作る)

P バッファの内容をカーソルの前(上の行)に挿入

R カーソルの場所から上書き訂正

S 1行を別のテキストに置き換えるccと同じ

T 行の中で指定された文字を先頭方向に探索し、その後に移動

U カーソルのある行の変更を取り消す

W 次の単語の先頭に移動(空白のみを区切りと解釈)

X カーソルのある場所の前の文字を削除

Y yyと同じ

ZZ セーブ終了

0 行の先頭に移動

! 編集中のファイルにunixコマンドを適用

" この後にバッファの番号または名前を指定

$ 行の末尾に移動

% 対応する括弧に移動

& exコマンドを繰り返す

+ 次の行の先頭に移動

- 前の行の先頭に移動

. 直前のテキスト変更を繰り返す

/ 文字列の検索(テキストの下に向かって)

: exモードになる

< テキストをタブ分だけ左シフト

> テキストをタブ分だけ右シフト

? 文字列の検索(テキストの上に向かって)

^t タブの分だけ移動

^g カーソルのある行の行番号を表示

^b 前のページにスクロール

^w 挿入モードで入力中、入力中の単語を削除

^d 画面を半分スクロール

^r 画面の表示の乱れを直す(端末によっては^l)

^f 画面を1ページ分スクロール

^z 編集を一時的に中止し、バックグラウンドジョブにする

_ 行の最初の空白でない文字に移動(Oと微妙に違います)