2013-09-24 10 views
9

Çeşitli kaynaklar içeren bir proje üzerinde çalışıyorum: XML, javascript, QML, görüntüler, 3D sahneler. Genellikle projemin içindeki kalıpları aramak istiyorum. Vimgrep/mypattern/j ** kullanımı oldukça uzun, özellikle ikili dosyalar içinde arama yaptığından beri. BenÇeşitli dosya uzantılarında vimgrep nasıl kullanılır?

:vimgrep /mypattern/j *.xml 
:vimgrepadd /mypattern/j *.js 

kullanabilirsiniz Ama bir komuta yapmayı tercih ederim.

Buna bakmanın başka bir yolu: vimgrep'in ikili dosyaların içinde arama yapmasını nasıl önleyebiliriz?

cevap

12

Sen :vimgrep için birden çok dosya globs geçirebilirsiniz:

:vimgrep /mypattern/j *.xml *.js 

bazı dosyaları hariç tutmak için, örneğin onları dışlamak için 'wildignore' seçeneği yapılandırabilirsiniz

:set wildignore=*.dll,*.exe 
+0

+1 Yine "omg" anı ... Kaydedebildiğim süre zaten bunu daha erken biliyordu. Thx Ingo. "Wildignore" olayı için –

+1

+1. Vim glob'ların çok daha güçlü olduğuna dikkat edin, örn. **/*. xml **/*. js' veya '**/config/*. xml src/**/*. js' ve [_even_ Yukarı Arama] var (http://vimdoc.sourceforge.net /htmldoc/editing.html#file-searching) – sehe

+2

@sehe: Eh, '' vimgrep'' kullandığını o yama ekledim :-) Bu sürüm 7.3.570 var. –