Home > Vim Hacks > Hack #65: 選択範囲を検索する

Hack #65: 選択範囲を検索する

バッファ全体ではなく、範囲を制限して部分的に検索を行いたいことがあります。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
このエントリーをはてなブックマークに追加
はてなブックマーク - Hack #65: 選択範囲を検索する
Share on Facebook
Post to Google Buzz
Bookmark this on Google Bookmarks
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed

Comments:0

Comment Form
Remember personal info

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: 選択範囲を検索する [...]

Home > Vim Hacks > Hack #65: 選択範囲を検索する

Search
Feeds
Links
  • 公式
  • 勉強会
  • 情報
  • コミュニティ
  • Meta
    Etc
    Creative Commons License
    This blog is licensed under a Creative Commons License.

    Return to page top