ノーマルモード


基本的なカーソル移動

コマンド説明
h左に移動
j下に移動
k上に移動
l右に移動

単語単位の移動

コマンド説明
w次の単語へ移動する
W次の単語へ移動する
e単語の末尾に移動する。すでに末尾にいる場合は次の単語の末尾へ移動する
E単語の末尾に移動する。すでに末尾にいる場合は次の単語の末尾へ移動する
b単語の先頭に移動する。すでに先頭にいる場合は一つ前の単語の先頭へ移動する
B単語の先頭に移動する。すでに先頭にいる場合は一つ前の単語の先頭へ移動する

wWでは一単語の捉え方が異なります。(e, bでも同様)

abc.def ghi

この例ではaにカーソルがある状態で小文字のwを押すとcdの間の.にカーソルが移動しますが 大文字のWを押した場合はスペースを単語の区切りと捉えgまで一気にカーソルが移動します。

括弧の移動

コマンド説明
%対応する括弧へ移動する

画面内の移動・操作

コマンド説明
H表示中の画面で一番上の行へ移動する
M表示中の画面の真ん中の行へ移動する
L表示中の画面の一番下の行へ移動する
zz現在カーソルがある行を表示画面の真ん中の行にする
Ctrl + d画面半分だけ下に移動する
Ctrl + u画面半分だけ上に移動する
Ctrl + f1画面下に移動する
Ctrl + b1画面上に移動する

ファイル内の移動

コマンド説明
ggファイルの先頭に移動する
Gファイルの末尾に移動する
{行番号}G指定した行番号へ移動する

検索

コマンド説明
f{検索したい文字}同じ行の今いる位置より後方でマッチする文字まで移動する
F{検索したい文字}同じ行の今いる位置より前方でマッチする文字まで移動する
/{検索したい文字列}ファイル内の前方でマッチする文字列まで移動する
?{検索したい文字列}ファイル内の後方でマッチする文字列まで移動する

fまたはFで一度検索を実行した後は;コマンドでさらに後方でマッチする文字へ、,で前方でマッチする文字に移動します

/または?で検索を実行した後はnで同じ方向で次にマッチする文字列、Nで反対方向で次にマッチする文字列に移動します

削除

コマンド説明
xカーソル上の文字を一文字削除する。
sカーソル上の文字を一文字削除して挿入モードに入る。
ddカーソルがある行全体を削除する
ccカーソルがある行全体を削除して挿入モードに入る
Sccと同様

数字の操作

コマンド説明
Ctrl + aカーソル行で最初に出現する数字をインクリメントする
Ctrl + xカーソル行で最初に出現する数字をデクリメントする

コマンド実行後はカーソルが数字の上に移動するため数字へ飛ぶ移動コマンドとして使用することもできます

コピー(ヤンク)・貼り付け

コマンド説明
yyカーソル行全体をコピー(ヤンク)する
p直前にコピーした文字or行を貼り付ける
P直前にコピーした文字or行を前方に貼り付ける

pPでは貼り付ける方向が異なります。例えばyyで現在カーソルがある行をコピーした後、小文字pを実行すると 一つ下の行に現在の行と同じ文字列が貼り付けられます。大文字のPを実行した場合は、一つ上の行に貼り付けられます。

マーク

コマンド説明
m{a-z, A-Z}カーソルがある行にマークをつける
`{a-z, A-Z}マークをつけた行に移動する
:marks作成したマークの一覧を確認する

mのあとに続けてアルファベットを入力するとカーソルがある行にマークをつけることができます。 例えばmaと入力するとaというマークが作成されます。

マークをつけたあとはバッククオート + マークの文字で(例:`a)そのマークをつけた行まで移動します。