6

私が Visual Studio で気に入っている機能の 1 つは、開いているファイルのみを検索する機能です。たとえば、最近いくつかのファイルに変更を加え、それらの変更を追跡したい場合、特定の単語を検索しますが、必要な一致の大きなリストを取得しないように、それらのファイルでのみ検索します。

これはVimで可能ですか?! 私が興味を持っているのは、変更したファイルを開いて使用できるようにすることです。

gvim `git diff --name-only`

次に、それらのファイルで必要なものを検索します。

4

2 に答える 2

2

これを行う良い方法は、vim の内部 grep コマンド ( :vim)を使用することです。

:vim /pattern/ `git diff --name-only`
:copen

これにより、小さなウィンドウ ( と呼ばれるquickfix) が開き、検索結果と、対応するファイルを開くためのリンクが表示されます (開いている必要はありません)。

于 2011-02-27T08:47:15.350 に答える
1

差分に一致するファイルの独自のバッファー内のすべてのファイルを vim で開くようにするには、次のようにします。

gvim $(grep -l pattern $(git diff --relative --name-only))

git diff --relative --name-onlyインデックス内の変更されたファイルを表示しますが、ファイル名は現在の作業ディレクトリに相対的です。

grep -l pattern <list of files>は、 に一致するファイル名を報告しますpattern。(パターンは、出力ではなくgit diffファイルに存在する必要があることに注意してください。)

$()バッククォートの代わりにPOSIXを使用すると、ネストされたコマンドを使用できます。

于 2011-02-27T09:12:26.770 に答える