画像提供:マイナビニュース

写真拡大

前回は、Vimのビジュアルモードでテキスト選択を行う方法を紹介した。ビジュアルモードはオリジナルのViには存在していない機能であり、Vi系の他のエディタも備えていないものが多い。つまり、ビジュアルモードはVimを代表する機能であり、Vimを便利にしている機能と言える。

そこで、次はビジュアルモードで選択したテキストに対してコマンドを適用する処理を取り上げる。よく使う機能なので、こちらもぜひ覚えていただきたい。

○選択とインデント

編集するテキストの種類にもよるが、中にはインデントを手動で整理する必要があるものがある。この処理はビジュアルモードを使わなくても既存の置換機能だけで実現できるが、ビジュアルモードと組み合わせると行番号を考えることなく、感覚で作業できるようになるので覚えてもらえればと思う。以下、手順を紹介しよう。

まず、次のような状態のテキストファイルを考えてみてほしい。29行目から55行目までが適切にインデントされておらず、若干悲しいことになっている。

Vで次のように行レベルで29行目から55行目までを選択する。

この状態で「:s/^/ /」と入力すると、次のようにコマンドラインに置換命令が入力される。範囲指定の部分が「'