← Vim研究所

Vimの検索コマンドラインで単語を補完する(Ctrl-r Ctrl-w)

2020-01-21 公開 ・ 更新: 2026-08-20

長い変数名を検索したいのに、綴りを間違えないよう慎重に入力していました。カーソル下の単語をそのまま検索したいだけなら*で十分ですが、検索キーワードの一部だけ自分で入力し、残りを補完したい場面もあります。

目次(7項目)
キーこれだけ覚える
Ctrl-r Ctrl-w検索/置換コマンドラインにカーソル下の単語を挿入
* / #カーソル下の単語をそのまま完全一致検索

基本の補完

/{検索キーワードの一部}Ctrl-r Ctrl-w

検索モードで/を押したあと、キーワードを途中まで入力してからCtrl-r Ctrl-wを実行すると、カーソル位置にある単語がコマンドラインに挿入されます。完全一致検索の*と違い、挿入された文字列をさらに手で編集してから検索できる点が違います。挿入は「置き換え」ではなく「追記」なので、すでに入力した文字列の続きに単語がそのまま足されます。

BEFORE
/sea
Ctrl-r Ctrl-w
AFTER
/searchComplete

関連する補完キー

キー挿入される内容
Ctrl-r Ctrl-wカーソル下の単語
Ctrl-r Ctrl-aカーソル下のWORD(記号込み)
Ctrl-r Ctrl-fカーソル下のファイル/ディレクトリパス
Ctrl-r "無名レジスタの内容

Ctrl-rはコマンドラインモード共通の「レジスタから挿入する」仕組みで、Ctrl-wCtrl-fのような特殊キーはカーソル下の情報を一時的にレジスタ経由で取り込んでいるイメージです。Ctrl-r "で無名レジスタの内容を挿入できることを知っておくと、直前にヤンクした文字列をそのまま検索したいときにも応用できます。

置換コマンドでも同じように使える

この補完は検索コマンドラインに限らず、:%s/のような置換コマンドを打っているときにも同じキーで使えます。置換前のパターンにカーソル下の単語を含めたいときなど、置換コマンドを打ちながら単語を取り込みたい場面でも同じ操作が通用します。

単語検索(*/#)との使い分け

カーソル下の単語をそのまま完全一致で検索したいだけなら*/#のほうが手数が少なくて済みます。一方、単語の前後に何か文字を足したい、複数の単語を組み合わせて検索パターンを作りたい、といった加工が必要な場合はこちらの補完のほうが柔軟に対応できます。

要点:カーソル下の単語をそのまま検索するだけなら*、検索パターンを自分で加工したいならCtrl-r Ctrl-wで単語だけを取り込んで編集します。
使ってみて

長い関数名の前方一致で検索したいことがあり、*だと完全一致になってしまうため使えませんでした。Ctrl-r Ctrl-wで関数名をコマンドラインに挿入してから末尾を編集し、前方一致のパターンに仕立てる、という使い方を覚えてから、検索の自由度が一段階上がりました。

コマンド履歴の補完と組み合わせる

コマンドラインモード全般で使えるCtrl-r系の補完は、検索・置換に限らずどのExコマンドを打っているときにも共通して使えます。カーソル下の情報を都度手打ちする代わりにこの仕組みを使う癖をつけておくと、検索以外の場面でも入力の手間を減らせます。1つのキー操作を複数の場面で使い回せると分かると、覚えるコマンドの数の割に応用範囲が広がっていく感覚があります。

まとめ

検索キーワードの補完は、完全一致で済む*系では対応できない「一部を自分で加工したい」場面で威力を発揮します。用途に応じて使い分けると便利です。

関連記事

← Vim研究所 トップへ戻る