カーソルの移動とテキスト編集いまさら聞けないVim(3)(2/3 ページ)

» 2011年03月10日 00時00分 公開
[後藤大地@IT]

カーソルの移動も楽になる

 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]」と入力する。この機能は便利に使えるので早めに覚えてしまいたい。

図2 Vimの編集画面に行番号を表示させたところ。クリックすると拡大 図2 Vimの編集画面に行番号を表示させたところ。クリックすると拡大

 行番号を表示するだけでなく、行番号を指定して、その行にカーソルを移動させることもできる。コマンドラインモードに移行し、行番号を入力してから[Enter]キーを押せばよい。つまり、ノーマルモードから「:行番号[Enter]」となる。例えば、図2の状態から200行目に移動したいときは、「:200[Enter]」と入力すればよい(図3)。

図3 こう入力してEnterキーを押すと、カーソルが200行目に移動する 図3 こう入力してEnterキーを押すと、カーソルが200行目に移動する

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。