【Vim】文字列の検索
目次
/を使用した検索
/
を使用した検索では、現在開いているファイル(カレントバッファ)
に対して検索を行います。
カーソルを移動させることで
検索方法
検索の開始
- 検索ワードを入力後、エンターで検索結果の文字列のある場所へカーソルが移動します。
- 検索ワードには
正規表現
も使用できます - スペースは入れない
1
:/検索ワード
検索結果へ移動
n
: 次の検索結果へN
: 前の検索結果へ
設定
大文字と小文字を区別しない
デフォルトでは大文字と小文字を区別する
ので、区別せずに検索したい場合は、以下の設定を適応させる
1 |
|
vimgrep検索
カレントディレクトリから相対パスで指定したファイル内部orフォルダ内部のファイル内部
を検索できる
通常の場合、:vim {検索文字列} 検索対象パス
で検索を行うことができるが、出てくる結果がとても見づらいので、Quickfix
と組み合わせる方法を基本として紹介する
検索方法
検索の開始
- 検索対象のパスはカレント
- cwは
cwindow
の略で、検索結果の一覧を別ウィンドウとして表示してくれる1
:vimgrep {検索文字列} 検索対象パス | cw
vimgrep
はvim
と省略もできる
1 |
|
検索対象パスの指定方法について
1 |
|
自動的にcwコマンドを付加する
.vimrcに以下の行を追加する
1 |
|
cwについての詳しい解説
- https://qiita.com/yuku_t/items/0c1aff03949cb1b8fe6b
より抜粋ちなみにここで作られたウィンドウはvim用語ではquickfix-windowと呼ばれる。
QuickfixというのはとあるCコンパイラが出力するコンパイルエラー形式のこと(らしく)、それをファイルに保存してvimから読み込んでエラー箇所を簡単に飛べると嬉しいよね、という動機で作られた機能の総称。vimgrepの検索結果は自動的にこの形式で読み込まれるため、Quickfixの結果を一覧表示するquickfix-windowで一覧表示できる、というわけだ。
検索結果への移動(Quickfix)
Quickfixリストウィンドウ内で、
jk
で上下移動して開きたい行でEnter
コマンドで移動する場合
- cn : 次の検索結果へ
- cp : 前の検索結果へ
- ccl : Quickfixを閉じる