プログラミングでは、複数の行をまとめてインデントしたいということもよくある。そうした場合、対象をビジュアルモードで選択(図17)したら[<]または[>]を押せばよい。[<]を押せば左へインデントを1つ浅くし(図18)、[>]を押せば右へインデントを1つ深くする(図19)。複数回インデントさせたい場合には「数字>」のように数字を加えて実行させればいい。
コメントの説明で置換を使ったが、置換を利用すれば選択したテキストを任意の文字に入れ替えられる。例えばテキストを選択してから、「:'s/[a-zA-Z]X//g」とするとどうなるだろうか(図20)。実行すると、大文字と小文字のアルファベットがすべて「X」に置き換わる(図21)。
ちなみに、「s/[a-zA-Z]X//g」の「g」は、一致するすべての文字に対して置換を実施する、という意味。この指定がないと、最初の文字だけ置換して終わりになってしまう。
Vimにはカーソルの列数およびファイルの先頭からカーソルの位置までの行数、単語数、文字数、バイト数を表示する機能を備えている。この機能を使うには、g[Ctrl-g]というコマンドを入力する。日本語の文章を書いているときなどに、どの程度文章を書いたか確認するのに便利だ。文字数に指定がある文章を作成しなければならないときなどに便利な機能だ。
そして、テキストを選択してからこの機能を実行すると、選択したテキストの範囲の情報を表示してくれる(図22)。
今回はVimの提供しているテキスト選択機能(ビジュアルモード、ビジュアルラインモード、ビジュアルブロックモード)と、テキスト選択機能とコマンドを組み合わせた編集方法を紹介した。Vimでは手動で繰り返すような編集はすべてVimにやらせるというのが基本だ。最初は慣れないかもしれないが、ビジュアルモードとコマンドの組み合わせはある程度は覚えてしまいたい。
後藤大地
オングス代表取締役。@ITへの寄稿、MYCOMジャーナルにおけるニュース執筆のほか、アプリケーション開発やシステム構築、『改訂第二版 FreeBSDビギナーズバイブル』『D言語パーフェクトガイド』『UNIX本格マスター 基礎編〜Linux&FreeBSDを使いこなすための第一歩〜』など著書多数。
Copyright © ITmedia, Inc. All Rights Reserved.