今さらながらのVim!
とりあえず触ってみる
では、早速起動してみましょう。単純に起動する場合は、コマンドラインから以下を実行するだけだ。
$ vi
場合によっては、起動コマンドによってVimがviコンパチモードで立ち上がってしまい、使える機能に制限が出ることもあるので、そういう場合やそういうことが心配な場合は、以下のようにフルネームで起動する。
$ vim
特定のファイルを編集したい場合は、以下のようにファイル名をコマンドライン引数に指定する。
$ vim foo.txt
終了する場合は「ZZ」と、大文字Zを2回タイプ。本当はこれは「保存して終了」なのだが、今回のように何も入力していない場合はこれで問題ない。本当の終了コマンドは「:q」と、コロンをタイプしたあと小文字のqをタイプしてエンター。
さて、これで起動と終了ができるようになった。
と、ここまでで勘の良い人は不思議に思っただろうが、「ZZ」と入力したのに画面に「ZZ」と表示されない。「:q」と入力した場合も同様。そういえば、上下左右に移動するときも「hjkl」だったけど、なぜ「hjkl」と入力しても「hjkl」と出ないのか。
それは、Vimには「モード」という観念があるからなのだ。
「モード」って?
起動直後のVimは、「ノーマルモード」というモードにいる。このモードの場合、入力した文字は、文字としてではなく、エディターに対する操作として認識される。だから「ZZ」は「保存して終了」という操作になるし、「h」は「左に1文字分移動」という動作になる。
文字を入力したいときは「ノーマルモード」から「挿入モード」に移行する。やり方はたくさんあるけれど、例えば「ノーマルモード」で「i」をタイプすると「挿入モード」になって(iはinsertのi)、画面下部に「-- INSERT --」とか「-- 挿入 --」などと表示され、それ以降入力した文字は、そのまま文字として入力される。
「挿入モード」から「ノーマルモード」に移動するには「Escキー」をタイプ。だいたいのVim初心者が混乱するのは、このモードについてなのだけど(そして僕が始めて読んだVimの本では最初にモードの説明がなかったので、本当に意味不明なソフトだと思った)、迷ったときはとにかく「Escキー」。
「ノーマルモード」で「:」(コロン)を入力すると、「コマンドモード」になる。「コマンドモード」になると画面下部に「:」が表示され、続けて入力した文字は、そのコロンの後に表示される。
試しに、さっき説明した「終了」をやってみよう。「:q」とタイプしてエンター。「挿入モード」で何か文字を入力してた場合は警告が出て終了できなかったと思うけれど、その場合は強制終了である「:q!」をタイプ。無理やり操作を実行したいときは「!」を付ける。例えば名前を付けて保存するときは「:w newfile.txt」とするが、これについても、同名のファイルがあっても無理やり保存したい場合は「:w! newfile.txt」とする。
ほかにも「ノーマルモード」で「V」をタイプして「ビジュアルモード」に入ることで、文字を選択したりすることもできるけれど、いま大事なことはただ1つ。
迷ったときは「Escキー」で「ノーマルモード」に戻る。
それだけだ。図2はVimのモード遷移を表した。これが頭の中にあるとないとでは大違いなので、最初は常にイメージしておこう。とにかく「Escキー」で真ん中に戻る、と。
では次ページで基本操作の学び方を紹介していく!