Terminal (Mac OS X): vim コマンドチートシート

移動

k 上
j 下
h 左
l 右

gg ファイル1行目に移動
G ファイル末行に移動

0 行頭に移動
$ 行末に移動
w 一単語先に移動
W 空白文字の次の単語に移動 (HTMLだとタグの属性単位で移動できて便利)
b 一単語前に移動
B 空白文字の前の単語に移動 (HTMLだとタグの属性単位で移動できて便利)

H 画面内の一番上の行へ移動
M 画面内の真ん中の行へ移動
L 画面内の一番下の行へ移動
 
% 対応する括弧 () {} に移動、括弧上で叩くと動作

 

入力 (INSERT モードに移行)

i カーソル位置に入力開始
a カーソル位置の次に入力開始
I 行頭(インデント)位置で入力開始
A 行末位置で入力開始 (付け忘れの ; の入力のときとか)
o 下に空白行を作成してその先頭から入力
O 上に空白行を作成してその先頭から入力

 

削除 ≒ カット

x カーソル位置の文字を削除・カット
X カーソル位置の前の文字を削除・カット≒BackSpace
10x カーソル位置から10文字分削除・カット
10X カーソル位置から10文字分手前の文字を削除・カット

dd 行を削除・カット
10dd 10行を削除・カット(数字を変えれば何行でも)

dL 画面内の一番下の行まで削除・カット
dB 空白文字の前の単語を削除・カット
d移動コマンド カーソル位置から移動先までを削除・カット

 

コピー (ヤンク)

yy 行をヤンク(コピー)
10yy 10行ヤンク(数字を変えれば何行でも)

yw 一単語分をヤンク
y% 対応する括弧 () {} の中をヤンク
y移動コマンド カーソル位置から移動先までをヤンク

 

ペースト

p ペースト
P 手前にペースト
10p 10回ペースト(数字を変えれば何回でも)
10P 10回手前にペースト(数字を変えれば何回でも)

 

文字列検索

/キーワード 「キーワード」をカーソル位置から下に検索
?キーワード 「キーワード」をカーソル位置から上に検索
n 次の候補 (再度先ほどの検索を実行)
N 前の候補 (再度先ほどの検索を逆順に実行)

 

置換

:s/キーワード/新しいキーワード/ 「キーワード」を「新しいキーワード」で置き換える
:s/キーワード/新しいキーワード/g その行の「キーワード」を「新しいキーワード」で全て置き換える
:10s/キーワード/新しいキーワード/g 10行目の「キーワード」を「新しいキーワード」で全て置き換える
:10,12s/キーワード/新しいキーワード/g 10行目から12行目までの「キーワード」を「新しいキーワード」で全て置き換える
:%s/キーワード/新しいキーワード/ ファイル全体で「キーワード」を「新しいキーワード」で全て置き換える

 

アンドゥ リドゥ

u アンドゥ
Ctrl+r リドゥ

 

繰り返し実行

. 直前の操作をもう一度行う

 

範囲選択

v ビジュアルモードに移行、このあと w とか押した後 y すると一単語分範囲ヤンク

 

モード解除

ESC インサートモード時、ビジュアルモード時にモード解除する

 

設定

:set number 行番号を表示
:set no number 行番号を非表示
:set autoindent  自動インデントモードにする
:set noautoindent 自動インデントモードモードを解除
:syntax on シンタックスハイライトモード。キーワードをハイライトする。
:set ignorecase 検索時に、大文字小文字を区別しないようにする
:set hlsearch 検索結果をハイライト表示
:set incsearch 検索をインクリメンタルサーチにする