Vimでは、削除の操作と同様にカーソル移動の操作法がいろいろある。挿入モードでは普通のテキストエディタやワープロソフトと同じような操作法になるが、ノーマルモードではカーソルキーと[HOME]、[END]に加えて、[gg]や[GG]といったキー操作でもカーソルを移動させることが可能だ。ggはファイルの先頭への移動、GGはファイルの末尾への移動となる。もちろん、[PageUP]や[PageDown]も使える。さらに、{キーと}キーなどにもカーソルを移動させる機能がある。削除のときと同じように数字と組み合わせれば、移動をその数字の回数だけ繰り返すことができる。
Vimではほかにも表2に挙げたようなキー操作が可能だ。一般的なテキストエディタではできないような操作もできるので、慣れると非常に便利に使える。例えば、%などはプログラムを書くときに括弧が入れ子になってしまい、対応する閉じ括弧が分からなくなったときなどに便利だ。
キー | キー操作の結果 |
---|---|
数字↑ | 指定した数の分だけカーソルを上へ移動 |
数字↓ | 指定した数の分だけカーソルを下へ移動 |
数字← | 指定した数の分だけカーソルを左へ移動 |
数字→ | 指定した数の分だけカーソルを右へ移動 |
gg | カーソルをファイルの先頭へ移動 |
GG | カーソルをファイルの末尾へ移動 |
[HOME] | カーソルをその行の行頭へ移動 |
[END] | カーソルをその行の末尾へ移動 |
% | カーソル位置にある括弧と対になる括弧に移動 |
{ | カーソル位置の段落の先頭に移動 |
} | カーソル位置の段落の末尾に移動 |
[[ | カーソル位置の前の段落に移動 |
]] | カーソル位置の後の段落に移動 |
表1 Vimのノーマルモードで利用できるカーソル移動機能 |
表2に挙げたものはVimでカーソル移動に使えるキー操作の一部だ。ほかにも、[h]、[j]、[k]、[l]の各キーでカーソルを移動させることができる(hjklで、←↓↑→と同じ操作になる)。Vimだけでなく、ほかのアプリケーションでもhjklでカーソル操作が可能なものがある。これは、Viが登場した当初のコンピュータではhjklの各キーをカーソルキーとして使っていたからである。そのため、hjklによるカーソル移動を好むユーザーは古くからViを使っていることが多い。
以上に挙げた例に限らず、Vimではある1つの目的を達するための操作法がいくつも存在する。さらに、ほかのキーに別の操作を割り当てるなどのカスタマイズもできる。例えば、[PageDown]とCtrl-fは同じ結果になる。[PageUp]とCtrl-bも同じだ。[HOME]は^、[END]は$と同じだ。
ほかのアプリケーションでもなるべく使えるキー操作を紹介しようと思い、ここではコンソールキーや[HOME]、[END]などを紹介しているが、指を動かす距離が少ないという理由でhjklやCtrl-*での操作を好むユーザーも多い。自分の好みに応じて、使うキーを選んでいけばいいだろう。
長いテキストやソースコードを編集していると、どれくらいの量の文字を書いたのか気になることがある。Vimの画面左下を見ると、カーソル位置の行番号を確認できるが、あまり目立たない。こういうときは、Vimのテキスト編集画面の左側に行番号を表示させるとよい。
行番号はコマンドラインモードに移行して「set number」と入力して[Enter]キーを押すと現れる(図2)。ノーマルモードからの操作なら、「:set number[Enter]」となる。反対に、行番号表示を消すには、ノーマルモードから「:set nonumber[Enter]」と入力する。この機能は便利に使えるので早めに覚えてしまいたい。
行番号を表示するだけでなく、行番号を指定して、その行にカーソルを移動させることもできる。コマンドラインモードに移行し、行番号を入力してから[Enter]キーを押せばよい。つまり、ノーマルモードから「:行番号[Enter]」となる。例えば、図2の状態から200行目に移動したいときは、「:200[Enter]」と入力すればよい(図3)。
Copyright © ITmedia, Inc. All Rights Reserved.