メモ帳などとは違い、viでは開いてすぐに編集することはできない。編集モードというものがあって、それに移行してから編集することになる。
このページではviを使ったテキストの編集方法についてお伝えしよう。
目次
viの編集モード
vimでファイルを編集するときは「編集モード」へ移行する。初期状態の「ノーマルモード」から「i」を押すと編集モードへ移行する。基本的にファイル編集するときはノーマルモードと編集モードを行き来することになる。
また編集モードへ移行する場合も複数のキーバインドが存在する。しかしとりあえず編集モードへ移行したい場合は「i」を押せば大概問題ないだろう。他のキーバインドは効率をあげる為の手段だと思えばよい。
またvi拡張クローンであるvimは通常のエディタのようにノーマルモードにもどらなくても、編集モードで直接「backspace」で文字を削除することも可能となっている。カーソルの移動に関しても編集モードのままカーソルキーによる移動が可能となっている。
編集モードへのキーバインド
まず最初に以下のような状態のテキストがあるとする。
この状態、つまりノーマルモードからそれぞれ以下のキーを入力することで、編集モードへ移行できる。現在カーソルは「main」の「m」の部分で停止している。
i:カーソル手前に文字を挿入する
iを押すと、挿入モードになる。
一見何も変化しないように見えるが、「i」を押してみると下に「挿入」という文字が見えるようになるはずだ。その場で入力が可能となる。
I:行頭に文字を挿入する
大文字のIを利用すると、行頭に文字を挿入できる。
行頭、つまり今回の例では「int」の「i」の部分から挿入が開始される。
a:カーソルの後ろに文字を挿入する
aだとカーソルの後ろに文字を挿入できる。
「main」の「m」にカーソルがある場合、文字「a」の部分から挿入が開始される。
A:行末に文字を挿入する
Aを押すと行末への挿入だ。
行末にある「{」から挿入が開始される。
o:カーソルの下に行を挿入したうえで文字列を挿入
oだとカーソルの下に行を挿入してくれる。これは結構便利でよく使う。
新しい行を作成した上で挿入を開始する。
backspaceによる削除とカーソルキーによる移動
vimの場合通常の一般的エディタと同じようにbackspaceを使用して、ノーマルモードへ移行せずに、編集モードの状態のまま文字を削除出来る。
また編集モードの状態でも、カーソルキーを使用すると、直感的なカーソルキーの移動が可能となっている。
vimの場合backspaceとカーソルキーを使用すると一般的なエディタに近い操作感が得られるようになっている。
混乱したときは
編集モードの最中に「何をやっているかわからなくなった」ときはEscキーを連打するとノーマルモードへもどってくる。状況を落ち着いて確認したら編集を再開しよう。
まとめ
viの編集モードについてこのページではお伝えしてきた。iだけは少なくとも覚えておき、徐々に他のコマンドも覚えていくといいだろう。