はじめに
本記事では Vim の使い方を学ぶために、コマンドとキーだけではなく GIF画像によるアニメーション を利用し、使い方をイメージしやすいようにしました。
本記事の構成
本記事の構成は下記の通りです。
章 |
章名 |
内容 |
第1章 |
精選10機能 |
精選10機能(使用頻度が高い機能)を整理しました |
第2章 |
便利な機能 |
Vim の便利な機能を整理しました |
第3章 |
機能一覧 |
Vim の機能を整理しました |
- |
付録 |
- |
第1章 精選10機能
① 新規のファイルを作成する

- 「
vim 新規ファイル名
」で新規ファイルを開く。
- 「
i
」で Insert Mode に移る。
- 本文を入力する。
- 「
Esc
」で Nomarl Mode に移る。
- 「
:wq
」でファイルを保存する。
- 「
cat 新規ファイル名
」でファイルの中身を確認する。
② 既存のファイルを編集する

- 「
vim 既存ファイル名
」で既存ファイルを開く。
- 「
i
」で Insert Mode に移る。
- 編集する。
- 「
Esc
」で Nomarl Mode に移る。
- 「
:wq
」でファイルを保存する。
- 「
cat 既存ファイル名
」でファイルの中身を確認する。
③ 1行を削除する

- 削除する行にカーソルを移動する。
- 「
dd
」で削除する。
④ 複数行を削除する

- 削除する先頭行にカーソルを移動する。
- 「削除する行数 +
dd
」で削除する。
⑤ 行単位でヤンク&ペーストする

- ヤンクする行にカーソルを移動する。
- 「
yy
」でヤンクする。
- 「
p
」でペーストする。
⑥ 行単位でカット&ペーストする

- カットする行にカーソルを移動する。
- 「
dd
」でカットする。
- 「
p
」でペーストする。
⑦ undo / redo

- 「
u
」で undo する。
- 「
Ctrl-r
」で redo する。
⑧ 置換する

- 「
:%s/
+ 置換前文字列 + /
+ 置換後文字列 + /g
」で置換する。
⑨ 検索する

- 「
/
+ 検索文字列」で検索する。
- 「
n
」で後方検索する。
- 「
N
」で前方検索する。
⑩ カーソル上の単語を検索する

- 「
*
」でカーソル上の単語を後方検索する。
- 「
#
」でカーソル上の単語を前方検索する。
第2章 便利な機能
① 特定の行に移動する

- 「移動したい行数 +
gg
」で移動する。
② すべての行頭に接頭語を追加する

- 「
:%s/^/
+ 接頭語」で追加する。
③ すべての行末に接尾語を追加する

- 「
:%s/$/
+ 接尾語」で追加する。
④ 特定範囲の行頭に接頭語を追加する

- 「特定範囲の先頭行数 +
gg
」で先頭行に移動する。
- 「
Ctrl-v
」で矩形選択をする。
- 「特定範囲の最終行数 +
gg
」で最終行に移動する。
- 「
I
」で Insert Mode に移る。
- 接頭語を入力する。
- 「
Esc
」で Normal Mode に移る。
⑤ 特定範囲の行末に接尾語を追加する

- 「特定範囲の先頭行数 +
gg
」で先頭行に移動する。
- 「
Ctrl-v
」で矩形選択をする。
- 「特定範囲の最終行数 +
gg
」で最終行に移動する。
- 「
$
」で行末を選択する。
- 「
A
」で Insert Mode に移る。
- 接尾語を入力する。
- 「
Esc
」で Normal Mode に移る。
⑥ インデントを増減する

- インデントを増やす行を選択する。
- 「増やすインデント数 +
>
」でインデントを増やす。
- インデントを減らす行を選択する。
- 「減らすインデント数 +
<
」でインデントを減らす。
⑦ 大文字小文字を変換する

- 小文字にしたい箇所を選択する。
- 「
u
」で小文字に変換する。
- 大文字にしたい箇所を選択する。
- 「
U
」で大文字に変換する。
⑧ 改行を削除する

- 改行を削除したい行を選択する。
- 「
gJ
」で改行を削除する。
⑨ 空白を挿入して改行を削除する

- 改行を削除したい行を選択する。
- 「
J
」で改行を削除する。
第3章 機能一覧
Mode の切り替え
Normal Mode

キー |
動作 |
Esc |
Normal Mode に移る |

キー |
動作 |
Ctrl-[ |
Normal Mode に移る |
Insert Mode

キー |
動作 |
i |
カーソルの位置から Insert Mode に移る |

キー |
動作 |
a |
カーソルの直後から Insert Mode に移る |

キー |
動作 |
I |
行頭から Insert Mode に移る |

キー |
動作 |
A |
行末から Insert Mode に移る |

キー |
動作 |
s |
カーソル上の文字を削除してから Insert Mode に移る |

キー |
動作 |
cw |
カーソル上から単語末までを削除してから Insert Mode に移る |

キー |
動作 |
ciw |
カーソル上の単語を削除してから Insert Mode に移る |

キー |
動作 |
ci" |
ダブルクォーテーションの内部を削除して Insert Mode に移る |

キー |
動作 |
cit |
HTMLタグの内部を削除して Insert Mode に移る |

キー |
動作 |
S |
カーソルがある行を削除してから Insert Mode に移る |

キー |
動作 |
C |
カーソルがある位置から行末までを削除してから Insert Mode に移る |

キー |
動作 |
o |
カーソルがある行の下に新たな行を追加して Insert Mode に移る |

キー |
動作 |
O |
カーソルがある行の上に新たな行を追加して Insert Mode に移る |
Visual Mode


キー |
動作 |
V |
行単位の選択をして Visual Mode に移る |

キー |
動作 |
Ctrl-v |
矩形選択をして Visual Mode に移る |
Command Mode

Normal Mode
画面スクロール

キー |
動作 |
Ctrl-f |
1画面、下にスクロールする |
Ctrl-b |
1画面、上にスクロールする |

キー |
動作 |
Ctrl-d |
半画面、下にスクロールする |
Ctrl-u |
半画面、上にスクロールする |

キー |
動作 |
Ctrl-e |
1行、下にスクロールする |
Ctrl-y |
1行、上にスクロールする |

キー |
動作 |
zz |
カーソルがある行を画面中央になるようにスクロールする |
カーソル移動


キー |
動作 |
w |
単語単位で後方に移動する |
b |
単語単位で前方に移動する |

キー |
動作 |
0 |
行頭に移動する |
^ |
文頭に移動する |
$ |
行末に移動する |

キー |
動作 |
gg |
先頭行(1行目)に移動する |
数字 + gg |
"数字"行目に移動する |
G |
最終行に移動する |

キー |
動作 |
Shift-] |
下方の空行に移動する |
Shift-[ |
上方の空行に移動する |


キー |
動作 |
H |
画面上の一番上の行に移動する |
M |
画面上の真ん中の行に移動する |
L |
画面上の一番上の行に移動する |
削除


キー |
動作 |
D |
カーソルがある位置から行末まで削除する |


キー |
動作 |
di" |
ダブルクオートの内部を削除する |



キー |
動作 |
数字 + dd |
カーソルがある位置から下方の"数字"分の行を削除する |
ヤンク&ペースト

キー |
動作 |
yiw |
カーソルがある位置の単語をヤンクする |

キー |
動作 |
yi" |
ダブルクォーテーションの内部をヤンクする |

キー |
動作 |
yit |
HTMLタグの内部をヤンクする |

キー |
動作 |
yy |
カーソルがある位置の行をヤンクする |

キー |
動作 |
数字 + yy |
カーソルがある位置から下方の"数字"分の行をヤンクする |

キー |
動作 |
p |
行は下方に、単語は右方にペーストする |

キー |
動作 |
P |
行は上方に、単語は左方にペーストする |

キー |
動作 |
数字 + p |
行は下方に、単語は右方に"数字"分の行/単語をペーストする |

検索

キー |
動作 |
/ + 文字列 |
文字列を上から検索する |
n |
カーソルより下側にある検索候補に移動する |
N |
カーソルより上側にある検索候補に移動する |

キー |
動作 |
? + 文字列 |
文字列を下から検索する |
n |
カーソルより下側にある検索候補に移動する |
N |
カーソルより上側にある検索候補に移動する |

キー |
動作 |
* |
カーソル上の単語を下方に検索 |
# |
カーソル上の単語を上方に検索 |
undo / redo

インクリメント / デクリメント

キー |
動作 |
Ctrl-a |
数字を増やす |
Ctrl-x |
数字を減らす |
インデント


キー |
動作 |
>> |
インデントを増やす |
<< |
インデントを減らす |
数字 + >> |
現在のカーソルから数字分の下の行のインデントを増やす |
数字 + << |
現在のカーソルから数字分の下の行のインデントを減らす |

キー |
動作 |
選択 + 数字 + > |
選択した行を"数字"分だけインデントを増やす |
選択 + 数字 + < |
選択した行を"数字"分だけインデントを減らす |
Insert Mode
インデント

キー |
動作 |
ctrl-t |
インデントを増やす |
ctrl-d |
インデントを減らす |
Visual Mode
選択


キー |
動作 |
vi" |
ダブルクォーテーションの内部を選択する |

全選択

キー |
動作 |
gg + V + G |
ファイル全体を選択する |
Replace Mode
上書き

キー |
動作 |
r + 文字 |
任意の"文字"を上書きする |

キー |
動作 |
R + 文字列 |
任意の"文字列"を上書きする |
Command Mode
保存 / 終了


キー |
動作 |
:w + filename |
"filename"名でファイルを保存する |


置換

キー |
動作 |
:s/before/after |
カーソルの行にある最初の"before"を"after"に置換する |

キー |
動作 |
:s/before/after/g |
カーソルの行にある"before"をすべて"after"に一括置換する |

キー |
動作 |
:%s/before/after/g |
ファイルのすべての"before"を"after"に一括置換する |

キー |
動作 |
:%s/^/prefix |
ファイル全体のすべての行の先頭に"prefix"を追加する |

キー |
動作 |
:%s/$/suffix |
ファイル全体のすべての行の末尾に"suffix"を追加する |

キー |
動作 |
:%s;/var/home;/usr/home |
パス名などを置換するときは、"/"でなく、";"を区切り文字に使用する |
削除

キー |
動作 |
:g/文字列/d |
"文字列"を含んでる行を削除する |
付録
バージョン
使用した Vim のバージョンは下記です。
参考
本記事は下記を参考にしました。
アニメーション作成ソフトウェア
アニメーション(GIF画像)を作成するために下記のソフトウェアを利用しました。