2011-10-21 20 views
1

VIMを使用していくつかのファイルでいくつかの単語を変更したいと思います。これを行うには、私は約Greplaceを見つけましたが、それはちょうどそれを行うために作られているようです。しかし、documentationにはGreplaceの構文のサンプルがありません(Gsearchのサンプルがありますが、replace関数が必要です)。Greplaceの構文

すべての ".asp"ファイルで "bar"を "foo"に変更したいと言いますが、Greplace(または他の方法)でどのように達成できるのでしょうか。私は確認について気にしません(確認が必要な場合は問題ありませんが、問題がなければ問題ありません)。

答えて

5

専用のプラグインなしで行うのは簡単です。

$ vim *.asp 
:bufdo %s/foo/bar/ge | update 
:q 
  • :bufdoすべてのバッファで次のコマンドを実行します。
  • %s/foo/bar/geは、すべての行とすべての行のすべての行でfooをbarに置き換えます。 eフラグは、すべてのファイルにfooが存在しない可能性があるため、:sはfooが見つからないとエラーを出力しません。
  • |は、実行する複数のコマンドを分離するVimの方法です。 :help :bar
  • update実際に変更が加えられた場合にのみ、ファイルをディスクに保存します。
+0

slick。開かれていないバッファでは動作しません。すなわち、 "ディレクトリ内のすべてのファイルに対してこれを行う" –

+0

@OrenMazor、確かに、私の例では未開封のバッファはありません。 – jamessan

+0

私は間違いなく私のusecaseのために大声で考えていた:) –