- 2009-08-31 (月) 0:00
- Vim Hacks
バッファ全体ではなく、範囲を制限して部分的に検索を行いたいことがあります。Vim にはそれを行うための正規表現の構文があります。
\%V
\%V は、選択した範囲にマッチする正規表現です。 つまり、検索パターン中に \%V を含めると、直前に選択した範囲にのみ検索がマッチするようになります。 Vim はウィンドウ毎に直前に選択された範囲を覚えているので、 Normal mode で使用した場合は直前の範囲が使用されます。
よって、選択範囲を検索するには
- Visual mode に入って検索したい範囲を選択する。
- Visual mode を抜け、/ で検索プロンプトを出す。
- \%V を入力してから検索したい文字列を入力する。
とします。
検索のハイライトも選択範囲のみがハイライトされるので、目的の箇所が探しやすくなります。 また、新しく Visual mode で範囲を選択するとマッチする箇所も変更されます。
設定例
頻繁に使うようなら Key mapping を設定しておくと良いでしょう。
vnoremap z/ <ESC>/\%V
vnoremap z? <ESC>?\%V
Visual mode 中に検索による移動ができなくてもよいのなら、/ や ? を直接上書きするようにマッピングしても構いません。
thinca
- Newer: Hack #66: 文字列を暗号化する
- Older: Hack #64: 256色ターミナルでVimを使用する
Comments:0
Trackbacks:2
- Trackback URL for this entry
- http://vim-users.jp/2009/08/hack65/trackback/
- Listed below are links to weblogs that reference
- Hack #65: 選択範囲を検索する from Vim-users.jp
- trackback from Alone Like a Rhinoceros Horn 10-07-03 (土) 4:46
-
[vim]Vim の検索/置換系キーマップを晒してみる
一連の Vim Hacks を読んでかなりパワーアップしたので、自分の vimrc から検索/置換系コマンドのキーマップを抜き出して晒してみます。 置換コマンドは eregex.vim のもの(:S)を使ってい…
- pingback from SanRin舎 » vi/Vim 11-09-03 (土) 9:53
-
[...] Vim-users.jp – Hack #65: 選択範囲を検索する [...]

