Vimを使う - テキスト選択の効率化

【連載】

にわか管理者のためのLinux運用入門

【第218回】Vimを使う - テキスト選択の効率化

[2020/02/25 08:00]後藤大地 ブックマーク ブックマーク

前回、Vimにおけるテキスト選択機能として行選択、文字選択、矩形選択を取り上げた。まずは基本としてカーソルキーを使った方法を紹介したが、実運用を考えるともっと効率良く操作したいところだ。今回は、テキスト選択の操作効率をアップする方法を紹介する。

Vimで用意されているテキスト選択の方法は多岐に渡るが、ここでは特に利用頻度が高くて覚えやすいものを紹介しておく。さくっと身に付けて作業効率を上げていただきたい。

カーソル入力を高速化

前回の方法では、例えば27行分のテキストを選択するには、カーソルキーを27回打鍵する必要がある。100行分選択するには、100回の打鍵が必要だ。とてもではないが、そんな効率の悪い操作はやっていられない。

例として、次のような設定ファイルを編集するケースを考えてみよう。前回は「あ」が並んだテキストコンテンツのファイルを使ったが、実際にはこんな感じのテキストファイルを編集することがほとんどだ。

テキスト選択に使用するサンプルテキストファイル

このファイルの1行目から27行目までをテキスト選択するとしよう。まず、1行目にカーソルを移動させてから「V」を押して行選択のモードに入る。

1行目でVを押して行選択モードに入る

次に「2」「7」「↓」と押す。この入力でカーソルキー「↓」を27回押すという操作と同じになる。Vimでは操作の前に数字を入力することで、その数字の回数だけ操作を繰り返させることができるのだ。

「2」「7」「↓」でカーソルキー「↓」を27回打鍵するのと同じ結果が得られる

「数字+命令」はその命令を繰り返させるための基本的な方法となっている。これまでに取り上げてきたVimの操作も、操作の前に数字を入力することでその回数だけ繰り返すことができる。これを知っているだけで、操作速度が格段に向上するはずだ。

選択終点をキーワード検索(下方向)

テキスト選択を効率的に行うもう1つの方法は検索と組み合わせることだ。選択開始の操作はこれまでと同じだが、終点を選ぶときに検索機能を使用して該当場所までジャンプする。これで任意範囲の高速選択が可能になる。

たとえば次のスクリーンショットは1行目でVを押して行選択モードに入ったところだ。

1行目で「V」キーを押して行選択を開始

次に「/」キーを押下する。カーソルが下部に移動するとともに、プロンプトが「/」になっていることがわかるだろう。

「/」を押して下方向検索機能を使用する

ここで検索したいキーワードを入力する。下記スクリーンショットではキーワードとして「include」という文字列を入力してある。データ的には19行目に「include」という文字列があり、ここが最初にヒットすることになる。

「/」に続いて検索したキーワードを入力する

この状態でエンターキーを押せば、次のように1行目から最初の「include」という文字列が含まれている行までが選択の対象になる。

エンターキーを押すと選択が実施される

検索による範囲選択はかなり応用の幅が広い。覚える操作は少ないが得られる効果は大きい。

選択終点をキーワード検索(上方向)

下方向への検索は「/」で、上方向の検索は「?」だったことはこれまでに説明済みだ。テキスト選択も同じで、「/」で下方向へ検索、「?」で上方向へ検索して範囲選択を行うことができる。次のスクリーンショットはカーソルを27行目に移動させてから、「V」キーを押して行選択モードに入ったものだ。

27行目で「V」キーを押して行選択モード

この状態で「?」キーを押すと、カーソルが下部に移動する。プロンプトとして「?」が使われていることがわかる。

「?」来を押すとカーソルが下部に移動する

ここでキーワードを入力する。次のスクリーンショットでは「weekly」という文字列を入力しており、サンプルで使ったテキストファイルでは3行目に含まれている文字列が一致の対象となる。

「?」に続けて検索するキーワードを入力する

ここでエンターキーを押すと次のように対象が選択される。

エンターキーで選択を実施

このように、テキスト選択は多くのケースで「/」キーおよび「?」キーを使って終点を探ることで素早く実施することができる。

全体選択

後は、極端なケースを3つ取り上げておきたい。まずはテキストファイル全部を選択する方法だ。まず、次のように1行目に移動してから「V」キーを押して行選択モードに入る。

1行目で「V」キーを押して行選択モードに入る

次に「G」キーを押す。これでファイル末尾までが選択対象として選択される。

Gを押して終点をファイル末尾行まで飛ばすことで全体を選択させる

「gg」でファイル先頭行に、「G」キーでファイル末尾行にカーソルを移動させることができることはこれまでに紹介した。テキスト選択とこのカーソル移動を組み合わせることで、ファイル全体を素早く選択することができる。

選択業からファイル先頭までを選択

「gg」や「G」によるカーソル移動とテキスト選択終点設定を利用するとこのようなこともできる。次のスクリーンショットはカーソルを19行目に移動させてから「V」キーを押して行選択モードに入ったものだ。

19行目で「V」キーを押して行選択モード

次に「gg」と入力する。これで選択範囲の終点がファイル先頭行へ移動する。

「gg」と入力して選択範囲の終点をファイル先頭へ移動させる

「gg」や「G」キーによる移動は、場合によっては結構使うので覚えておくとよいだろう。

選択行からファイル末尾までを選択

「特定の行からファイル末尾までを選択する」というのも結構よくある操作だ。ファイルの下部には、古いコメントを保存していたり、メモ的にテキストを書き込んでいたりすることは少なくない。それらをまとめて選択して削除したいようなときなどには特に便利だろう。

次のスクリーンショットは、カーソルを19行目に移動させてから「V」キーを押して行選択モードに入ったものだ。

19行目で「V」キーを押して行選択モード

次に「G」キーを押す。これで選択範囲の終点がファイル末尾行へ移動する。

テキスト選択では、とりあえずこの辺りの操作方法を覚えておけばよいと思う。

テキスト選択の本来の使い方はここから

テキスト選択が効果を発揮するのはここからだ。範囲を選択した後で、その範囲に対してだけ命令を適用することができる。主に使われるのは削除、置換、コマンドの実行といったところだろう。些細なことかもしれないが、頻繁に使う操作であるだけに、手早くできればそれだけ時短になる。

まずは任意の範囲の選択をサクサクと行うことができるように、Vimで練習してほしい。Vimの習得には、何と言っても実践が欠かせない。新しい操作方法を知ったら、とにかく使って操作方法を身に付ける。何も考えなくても思考がそのまま操作になるくらいまで使い込むことが大切だ。

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

一覧はこちら

連載目次

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします
注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
[解説動画] 個人の業務効率化術 - 短時間集中はこうして作る
ミッションステートメント
教えてカナコさん! これならわかるAI入門
知りたい! カナコさん 皆で話そうAIのコト
対話システムをつくろう! Python超入門
Kubernetes入門
AWSで作るクラウドネイティブアプリケーションの基本
PowerShell Core入門
徹底研究! ハイブリッドクラウド
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

会員登録(無料)

ページの先頭に戻る