Vim kullanıyorsun. Bunu yapmak için bir aracın var.
Tahmin edilebileceği gibi, kullanmak için zaten söylenen yedi cevap var grep
. Ama şu ana kadar kullandığın sorundan farkeden tek kişi benim gibi görünüyor vim
. Eğer rağmen Gibi, olabilir kullanmak grep
içinden vim
şunları yapabilirsiniz ayrıca kullanmak vim
'ın aracında yerleşik. Bu :vimgrep
komut aracılığıyla çağrılır .
"Geçerli C dizinindeki tüm C kaynak dosyalarının fonksiyon çağrıları için aranması toUpperCase()
" vim
komutunu yazın.
:vimgrep "\<toUpperCase\_s*(" *.c
Sonuçta ortaya çıkan eşleşme listesi otomatik olarak hızlı düzeltme listesine yüklenir, bunlardan biriyle erişilebilir (ince farkın çevrimiçi yardımına bakın)
:copen
:cwin
Çağrılar yerine işlev tanımını bulmak için , cevabındactags
belirtildiği gibi , veya komutları ile birlikte bir araçtır .Gilles
:tjump
:tselect
Neden kullanılmalı :vimgrep
?
On-line yardım ( :help grep
), burada papağan olmayacağım sebeplerin bir çoğunu içerir. Daha olanlara, eylemini karşılaştırmak :vimgrep
o ile dietbuddha
bireyin cevabı . dietbuddha
komut satırı grep
, her bir C kaynak dosyası için ayrı bir işlem öngörür . Bu xargs
ek yükü azaltmak için bile istihdam etmiyor . Ve yine de bir şekilde metin editörünüzü bitirdikten sonra ilgili kaynak dosyalara çağırmak için çıktıyı ayrıştırmanız gerekir. :vimgrep
birden fazla ek işlemi hiçbir zaman engellemiyor ve sonucu kullanmak basitliğin kendisi. Sonuçtaki hızlı düzeltme listesindeki girişlerden yalnızca birini seçmek, imleci otomatik olarak ilgili kaynak dosyanın ilgili satırına yerleştirir.
Aslında, otomatik olarak hariç, elle yaptığınız şeyi tam olarak yazar. Bu metin editörü işlemlerini yapmanın otomatik yolu. Dosyayı elle yüklüyormuş gibi yükler, düzenli bir ifade arar ( daha önce başka bir yerde kullandığınız aynı düzenli ifade sözdizimini kullanarak vim
), eşleşmelerin gerçekleştiği yerleri kaydeder ve ardından dosyayı kaldırır.