Vim のブログ

テキストエディター Vim の魅力、使い方のコツを初心者にも分かりやすく伝えていきたいと思います。

Vim の挿入コマンドとその取り消し、繰り返し

挿入を開始するコマンド

テキストの挿入を開始するためのコマンドはなんと6つもあります。
(他にも既存のテキストを削除してインサートモードに入る「変更(Change)コマンド」「置換(Substitute/Replace)コマンド」もあるのですが、別のところで紹介します。)
この6つはそれぞれカーソルに対しての挿入の開始箇所が違います。

コマンド挿入開始位置覚え方
i カーソルの前 insert
I カーソル行の先頭(行最初の非空白文字の前) 行全体に i
a カーソルの後ろ append
A カーソル行の末尾 行全体に a
O カーソル行の「前」に空行を挿入して、その行の先頭 Open up a new line
o カーソル行の「次」に空行を挿入して、その行の先頭 open up a new line

下に位置関係をまとめてみました。| をコマンド前のカーソル位置としたときの、i, I, a, A, O, o それぞれのコマンドの挿入開始位置を図示しています。

O
I     i|a     A
o

テキストを挿入する

各コマンドでインサートモードに入ったあと、自由にテキストを入力することが出来ます。

挿入を終了する方法

挿入を終えるときは
<ESC>, <c-[>, もしくは <c-c> でインサートモードからノーマルモードに戻ってください。 このキーは繰り返し使うことになります。自分にあったキーを選びましょう。

取り消し(アンドゥ)、取り消しの取り消し(リドゥ)、繰り返し

コマンド機能
u 取り消し(アンドゥ)
<c-r> 取り消しの取り消し(リドゥ)
. (ピリオド) 最後のコマンドの繰り返し

テキストの挿入コマンドは、インサートモードに入ってノーマルモードに戻るまでが、ひとつのコマンド操作としてカウントされます。
ですので、インサートモード一度で長文を入力してしまうと、アンドゥ一度でその長文がすべて消えてしまうことになります。まめにノーマルモードに戻って、編集の履歴を残しておくことをおすすめします。

また、いろんな場所に同じテキストを挿入したい場合は、. による最後のコマンドの繰り返しが重宝します。