テキストエディタになくてはならない機能の1つにキーワード検索が挙げられる。もちろんVimもその機能は備えている。しかも、簡単なキー操作だけで自由自在にキーワード検索ができる。
Vimのほかの操作と同様に、キーワード検索もキーボード操作だけで済ませることができる。キーワード検索を始めるにはまず、ノーマルモードから[/]あるいは[?]を入力する。コマンドラインモードのように入力画面の下にカーソルが移動するので、ここで検索キーワードを入力し、Enterキーを押すと、キーワードに一致する部分にカーソルが移動する(図4)。
/と?の違いは、検索する方向にある。/で検索するとファイルの末尾に向かってキーワードを探す。反対に、?で検索すると、ファイルの先頭に向かってキーワードを探す。検索を実行した後に、同じキーワードで引き続き検索したいときは、キーワードを指定せずに[/]か[?]を入力してEnterキーを押せばよい。これだけのキー操作を覚えておけば、自由自在に目的の文字列を探し出せるようになるだろう。
コピー&ペーストはテキスト編集に欠かせない機能だ。Vimにももちろんその機能はあるが、使い始めのうちは、自由自在にコピー&ペーストをすることは難しい。場面に応じてさまざまなキー操作を覚えなければならないからだ。
そこで、今回は行単位でコピー&ペーストをする方法を説明する。行単位でコピーをするには、ノーマルモードで[yy]を押せばよい。これで、カーソルがある行をコピーできる。
複数の行をコピーしたいときは、文字削除の操作と同じように、yyに数字を組み合わせる。[数字yy]や、[y数字y]といった具合だ。これで、カーソル位置を先頭行にして、数字で指定した行数だけ文字列をコピーできる。
コピーした文字列をペーストするには、[p]と[P]を使う。文字列をコピーした後で[p]を押すと、カーソルがある行とその下の行の間に文字列をペーストできる。コピーした後で[P]を押すと、カーソルがある行とその上の行の間に文字列が入る。[p]と[P]の前に数字を入れてペーストを実行すると、数字で指定した回数だけ、ペースト操作を繰り返す。
Vimには「ビジュアルモード」というモードがあり、このモードに入るともっと細かい単位で文字列のコピー&ペーストができる。そして、Vimを実行するターミナルが対応していれば、マウス操作でコピー&ペーストすることも可能だ。しかし、このような操作はまず行単位のコピー&ペーストに慣れてから覚えればよいだろう。機会があったら、この連載でも後々解説したい。
ほかのエディタではあまり見ないが、Vimは備えているという機能の1つに行の連結機能が挙げられる。使ってみると意外と便利な上、操作も簡単なので、覚えておくとよい。
[J]を押すと、カーソルがある行とその1つ下の行を連結して1つの行にまとめてくれる。連結するときは、前後の空白やタブを削除して、半角スペースを1つ挿入するようになっている。日本語の場合、連結部分に半角スペースが入るのは邪魔だが、Viは開発時から英語のように単語の間をスペースで区切る言語を前提にしているため、結合部分に半角スペースが入ってしまうのだ。
Vimを使ったテキスト編集の速度を上げるためのポイントの1つとして、なるべくキーを繰り返し押さないようにするという点が挙げられる。通常のエディタやワープロなら、繰り返しキーを押さないとできないことでも、Vimなら数字を指定することで処理を繰り返させることが可能だ。これで無駄な時間を短縮できる。
慣れるまでは、繰り返しの回数を考えるのに時間がかかってしまうかもしれないが、慣れてしまえばぐっと編集にかかる時間が短くなる。今回紹介した機能はどれも基本的なものだが、これらの機能を使いこなせるようになるだけでも、通常のエディタを使うよりも高速にテキストを編集できるようになるだろう。
後藤大地
オングス代表取締役。@ITへの寄稿、MYCOMジャーナルにおけるニュース執筆のほか、アプリケーション開発やシステム構築、『改訂第二版 FreeBSDビギナーズバイブル』『D言語パーフェクトガイド』『UNIX本格マスター 基礎編〜Linux&FreeBSDを使いこなすための第一歩〜』など著書多数。
Copyright © ITmedia, Inc. All Rights Reserved.