フォルダー内のJFactory
クラスとそのサブディレクトリを検索するとします。
class JFactory
を含むファイルをファイルするにはどうすればよいですか?
そのWordを置き換えたくありませんが、class JFactory
を含むファイルを見つける必要があります。
:vimgrep /JFactory/ **/*.Java
完全なWord一致が必要な場合は、パターン/JFactory/
を/\<JFactory\>/
に置き換えることができます。 :vim
は:vimgrep
の省略形です。
JFactory
または\<JFactory\>
が現在の検索パターンである場合(たとえば、一度に*
にヒットした場合)、空の検索パターン:vimgrep // **/*.Java
を使用できます。代わりに最後の検索パターン。ハンディ!
警告::vimgrep
は、有効な場合にautocmdsをトリガーします。これにより、検索が遅くなる可能性があります。あなたがそれをしたくない場合は、次のことができます:
:noautocmd vimgrep /\<JFactory\>/ **/*.Java
より速くなります。ただし、構文の強調表示をトリガーしたり、解凍したgz
ファイルを開いたりすることはありません.
外部プログラムでパターンをgrepしたい場合は、次のようなことができることに注意してください。
:set grepprg=ack
:grep --Java JFactory
Ack
は、grepの代わりにPerlで作成されたものです。その場合、Perl正規表現に切り替える必要があることに注意してください。
選択したコマンドが返されたら、:help quickfix
のVimドキュメントで説明されているコマンドを使用して、検索結果を参照できます。 :cfirst
、:cnext
、:cprevious
、:cnfile
などのルックアップ.
2014年の更新:the_silver_searcher
またはthe_platinum_searcher
およびag.vim
またはunite.vim
プラグインを使用して、これを行う新しい方法があります。
プロジェクトのルートフォルダから、次を実行します。
grep -H -r 'what_you_search' * | less
フォルダとその文字列に一致する行のリストを取得します。
シルバーサーチャー( https://github.com/ggreer/the_silver_searcher )強くお勧めします。
install
Sudo pacman -S the_silver_searcher // Arch Linux
Sudo apt install silversearcher-ag // ubuntu
使用法
$ ag keywords
vimと統合する
rking/ag.vim( https://github.com/rking/ag.vim )
インストール後
:Ag keywords
このスクリプトが役立つ場合があります: Filesearch 。
次の方法でコマンドラインウィンドウを開きます。
Esc-通常モードになっていることを確認します
タイプq、タイプ:
コマンドラインが開くはずです(コマンドを書くためのtmpファイルのように、vimファイルで通常ナビゲートするようにナビゲートできます...
iを入力して挿入モードに入ります
この例では、タイプ '。js'および '。Java'のすべてのファイルタイプの現在のディレクトリの下でto_srch文字列を再帰的に検索しますが、文字列node_modulesを含むすべてのファイルパスを省略します。
:g/console.log/ | :vimgrep /console.log/ `find . -type f -name '*.js' -o -name '*.Java' -not -path '*node_modules/*'`
さて、あなたは:copen矢印キーで検索結果をナビゲートできます...
また、それらを.vimrcに設定することもできます
" how-to search recursively under the current dir for the files of type js and Java but omit the
" node_modules file paths
":g/console.log/ | :vimgrep /console.log/ `find . -type f -name '*.js' -o -name '*.Java' -not -path '*node_modules/*'`
" reminder open the quick fix window by :copen 20
" reminder close the quick fix window by :ccl
最初の:q/to_srch /は省略できます。〜/ .vimrcに「set hlsearch」があるため、検索結果を自動的に強調表示するために使用します。
Srchの結果をvimgrepから、またはvimrcで自動的に有効にするヒントは非常に高く評価されます...