Vimの基本操作をマスターしよう
基本操作
「第1回:今さらながらのVim!(http://www.thinkit.co.jp/article/123/1/)」で、基本操作についてはチュートリアルを参照するように書いたが、それ以外にも覚えておいた方が良い基本操作があるのでここで簡単に紹介する。なお、基本操作については「:help quickref」で見られるので、必要に応じて目を通すと良いだろう。
さて、これは心構え的な話であるが、誰でもいろんなことを一度に覚えるのは無理なので、ここに書かれたことやquickrefに書かれていることは、「気になったものを1個か2個覚えて日常的に試してみる」というのがオススメだ。あと、肌に合わなければそのコマンドについてはとりあえず忘れちゃうというのも良い方法。本当に便利な機能なら、たぶんきっとまたどこかで出会えるはずだ。で、それを繰り返す。
では早速紹介に入ろう。とりあえず基本中の基本操作については図2の上に示したので、実際に操作しながら試してみよう。
移動のための操作
さて、ここからがVimの面白いところだ。図2にもあるように「jkhl」による上下左右だけではなく、さまざまな移動の仕方がある。また、指定した回数だけ移動を繰り返す、といった操作もできる。
「0」で行頭に、「^」でインデントされた行頭にそれぞれ移動(つまり前者はインデントを無視して常に行頭に行く)。「$」でその行の最後尾、「gg」でファイルの先頭に、「G」でファイルの最後尾に。「10G」で10行目に、「20G」で20行目に、つまり「NG」でN行目に(Nは数字)移動できる。「w」と「b」では、単語単位で、それぞれ前後に移動可能。そして例えば「10w」で「10単語分先」に進み、「100b」で「100単語分前に」戻れる。ちなみにこの数字でのプレフィックスで回数を指定するのは、いろんなコマンドで可能なので試してみると良い。
画面をスクロールするときは「Ctrl-D」(半画面分下に)、「Ctrl-U」(半画面分上に )、「Ctrl-F」(1画面分下に)、「Ctrl-B」(1画面分上に)という感じ。1行ずつスクロールしたいときは「Ctrl-E」と「Ctrl-Y」が使える。
画面をスクロールせずにカーソルだけを移動したいときもあって、「H」で画面先頭、「L」で画面末尾、「M」で画面中央にカーソルを移動できる。逆に「いまカーソルがある場所を画面中央にしたい」という時には「zz」。「上書き保存して終了」の「ZZ」と間違えないように。画面先頭と画面末尾の場合は、それぞれ「zt」と「zb」である。
移動の操作は図2の下にまとめた。これでずいぶん「思ったところ」に行けるようになったのではないだろうか。
次は移動以外の基本操作をいくつか紹介していこう。