vim習得中の方のためのコマンド一覧

はじめに

最近になってvimを使い始めました。まだ習得中ですが継続すればタイピングが早くなる可能性を感じています。そして何より実装していて楽しいです。(たまに辛いですが笑)

今回は自分を含めた習得中の方向けのコマンド一覧を作成しました。想定レベルはvimtutorが終わったあたりです。またモードなどは理解している前提で記載しています。

コマンド

移動

カーソル一つ分の移動

コマンド 効果
h 左に一つカーソルを移動
j 下に一つカーソルを移動
k 上に一つカーソルを移動
l 右に一つカーソルを移動
数字+hjkl 数字の行だけ下or上に移動

単語移動

コマンド 効果
w 単語の先頭へ順次移動
e 単語の末尾へ順次移動
b 単語の先頭へ順次戻る
W 単語の先頭へ順次移動(.や-も一単語とみなす)
E 単語の末尾へ順次移動(.や-も一単語とみなす)
B 単語の先頭へ順次戻る(.や-も一単語とみなす)

日本語だと一単語の括りが曖昧のようで数文字移動になります。

行移動

コマンド 効果
0 行の先頭へ移動(インデントを無視)
^ 行の先頭へ移動(インデントを考慮)
$ 行の末尾へ移動
- 上の行の先頭へ移動
+ 下の行の先頭へ移動

段落移動

コマンド 効果
{ 前の段落へ移動
} 次の段落へ移動

次の空行まで移動と同じです。使いやすいです。

ページ送り

コマンド 効果
Ctrl + u 上に半ページ移動
Ctrl + d 下に半ページ移動
Ctrl + f 上に半ページ移動
Ctrl + b 下に半ページ移動

ジャンプ

コマンド 効果
gg([[も同一) ページの先頭へジャンプ
G(]]も同一) ページの末尾へジャンプ
数字 + G 指定した数字の行へジャンプ
:数字 Enter 指定した数字の行へジャンプ

検索

コマンド 効果
/ 検索
n 次の検索ヒットへ
N 前の検索ヒットへ
? 最初から逆方向へ検索

行内一文字検索

コマンド 効果
f + 文字 行内検索
; 次の検索ヒットへ
r 前の検索ヒットへ
? 最初から逆方向へ検索

行内のあそこに移動したい、という時に便利です。

カッコ移動

コマンド 効果
% カーソルがある位置から最初の閉じかっこへ移動。
カーソルが閉じかっこ上にある場合はき括弧へ移動
対応するかっこは(), {}, []

編集

編集開始

コマンド 効果
A 行末から編集開始
o 下に空行を追加して編集開始
O 上に空行を追加して編集開始
数字 + o 下に数字の分だけ空行を追加して複数行編集
cw カーソルの位置から空白を含む単語の末尾まで切り取りってから編集
ce カーソルの位置から空白を含まない単語の末尾まで切り取りってから編集
c$ カーソルの位置から行の末尾まで切り取りってから編集

切り取り

切り取り系は移動で出てきたw,e,$などのイメージができていると覚えやすいです。

コマンド 効果
x カーソルの位置の文字を切り取り
dd 一行切り取り
数字 + dd 複数行切り取り
d$ カーソルの位置から行末まで切り取り
D 同上
dw カーソルの位置から空白を含む単語の末尾まで切り取り
de カーソルの位置から空白を含まない単語の末尾まで切り取り

コピー

コマンド 効果
yy 一行コピー
数字 + yy 数字行コピー
y$ カーソルから行末までコピー
vで選択してからy 選択した範囲をコピー
ggyG ファイル全文コピー

コピーはyankの略のyを用います

ペースト

コマンド 効果
P ペースト
p ペースト(但しカーソルの次の位置に貼り付けされるの注意)

ペーストは最初に習うpだと位置のイメージがCtrl+Vと異なる点に注意が必要です。

置換

コマンド 効果
:s/置換前文字列/置換後文字列/c %がないとカーソル行のみ
cがあると都度確認

やり直し

コマンド 効果
u 最後のコマンドのやり直し(undo)
U 行全体でやり直し
Ctrl + r redo

終わりに

便利なコマンドが多くて書き始めると止まらなくなりました。これらを活用してタイピングが少しでも快適になれば幸いです。