連載
» 2011年03月10日 00時00分 UPDATE

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

前回はVimでテキストを入力して保存し、Vimを終了させる方法を説明しました。今回は、Vimを素早く操作するために覚えておきたいキー操作の一部を紹介します。今回の解説内容を覚えれば、次第にVimが便利なものに感じられるようになるでしょう。(編集部)

[後藤大地,@IT]

入力、保存から次の段階へ

 前回は、Vimのごく初歩的な操作の方法を解説した。起動し、挿入モードへ移行してテキストを入力。さらに、コマンドモードに移行して、ファイルを保存する方法まで説明したが、一連の操作には慣れただろうか。

 しかし、この段階では文字を入力して保存しているだけだ。今回はVimでテキストを編集するために欠かせない操作法を紹介していく。Vimは無数の機能を備えており、同じことをするにしても何種類もの操作法が存在する。最後は好みの問題になるので、最終的には「:help」で自分がなじめる方法を探してもらえればいいと思う。今回は中でも基本的な操作方法を紹介する。

 今回の解説は、実際にファイルを編集しながら読んでほしい。日本語入力が関係すると難易度がぐっと上がるので、ここでは日本語入力は使わないことにする。編集するファイルは何でもいいが、今回はUNIX/Linuxでディレクトリ内を一覧表示するプログラムls.cのソースコードをコピーして編集してみる(図1)。ls.cのソースコードはこのWebページで参照可能だ。前回も強調したが、実際に操作しながら体で覚えることが大切だ。

図1 Vimでls.cのコードを入力しているところ。クリックすると拡大 図1 Vimでls.cのコードを入力しているところ。クリックすると拡大

 とはいえ、初心者が10を超えるモードをすべて覚えるのは大変だ。そこで、今回は「ノーマルモード」「挿入モード」「コマンドラインモード」の3種のモードの間を移行しながら、新規テキストファイルの作成と編集、保存までの操作をお見せしよう。

挿入モードへの移行法にもいろいろ

 前回はノーマルモードから挿入モードへ移行するキーは[i]であると説明した。しかし、ノーマルモードから挿入モードに移行するキーにはほかにも[a]、[I]、[A]、[o]、[O]などがある。

 前回説明したように、iを押すとカーソルの位置から入力開始だ。そしてaを押すと、カーソルの1つ右の位置から入力を始められる。行末に文字を追加したい場合などはaを使うと便利だ。

 IやAを使うと、行頭や行末から入力を始められる。Iを押すと行頭からAを押すと行末から入力開始となる。IとAは行頭や行末へ移動するコマンドとして利用することもある。I[ESC]で行頭移動、A[ESC]で行末移動になるというわけだ。

 oを押すと、カーソルがある行の下に空行を作り、新しい行の頭から入力できるようにする。そして、Oを押すと、カーソルがある行の上に空行を作り、その行の頭から入力可能にする。

 ここで説明したi、a、I、A、o、Oを使えるようになれば、挿入モードへの移行で迷うことはないだろう。

長いテキストをまとめて削除

 Vimの便利なところの1つとして、ちょっとしたキー操作でまとめてテキストを削除できるという点が挙げられる。この機能はノーマルモードで利用可能だ。挿入モードではテキストエディタやワープロと同じように[Backspace]と[Delete]キーを使う。[Backspace]を押すと、カーソルがある場所の1つ左の文字を削除する。[Delete]キーを押すとカーソルがある場所の文字を削除する。ほかに、覚えておくと便利なキー操作とその結果を表1にまとめた。

キー キー操作の結果
x(または[Delete]) カーソルがある場所の文字を削除
X カーソルがある場所の1つ左の文字を削除
D カーソルがある場所から行末までの文字をまとめて削除
dd カーソルがある行を削除
数字x カーソルがある場所の文字の削除を数字で指定した回数だけ繰り返す
数字X カーソルがある場所の1つ左の文字の削除を数字で指定した回数だけ繰り返す
数字dd(または「d数字d」) カーソルがある行を削除する操作を数字の回数だけ繰り返す
表1 Vimのノーマルモードで利用できる文字列削除機能

 x、X、ddなどのキー操作を数字と組み合わせることに慣れてくるとVimがぐんと便利に感じられる。Vimは人間が同じ動作をなるべく繰り返さないで済むように作ってある。例えば、普通のテキストエディタなら10回[Delete]キーを押すところ、Vimなら「10x」と入力するだけで済む。100回なら100xだ。カーソルがある行を含めて30行削除するならd30dか30ddだ。キーが1つのものは、キーを押す前に数字を入力し、キーが2つのものは、キーを押す前か、キーの間に数字を入力する。これで数字の回数だけVimが処理を繰り返す。

 数字とキー操作の組み合わせで一括削除する操作は、Vimで高速にテキストを編集するために最初に覚えるべきテクニックだ。Vimでは、繰り返す処理はVimにやらせて、ユーザーはどういった操作を入力すればいいかを考える。操作をする前に何回繰り返すかが自然と頭に浮かぶようになれば、それだけでかなりの操作を短縮できるようになる。

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

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

メールマガジン登録

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