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> | 取り消しの取り消し(リドゥ) |
. (ピリオド) | 最後のコマンドの繰り返し |
テキストの挿入コマンドは、インサートモードに入ってノーマルモードに戻るまでが、ひとつのコマンド操作としてカウントされます。
ですので、インサートモード一度で長文を入力してしまうと、アンドゥ一度でその長文がすべて消えてしまうことになります。まめにノーマルモードに戻って、編集の履歴を残しておくことをおすすめします。
また、いろんな場所に同じテキストを挿入したい場合は、. による最後のコマンドの繰り返しが重宝します。