はじめに
本記事では 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画像)を作成するために下記のソフトウェアを利用しました。