आप vimgrep तो एक मैक्रो है कि इस तरह vimgrep उत्पादन में प्रत्येक पंक्ति के लिए चला जाता है और की जगह है, कुछ रिकॉर्ड पड़ सकते है: (! # टिप्पणी में टाइप न)
:set autowrite #automatically save the file when we change buffers
:vimgrep /pattern/ ./**/files
qa #start recording macro in register a
:s/pattern/replace/g #replace on the current line
:cnext #go to next matching line
q #stop recording
[email protected] #repeat the macro 10000 times, or until stopped by
#an "error" such as reaching the end of the list
:set noautowrite
मैं परीक्षण नहीं किया यह, इसलिए इसे थोड़ा tweaking की आवश्यकता हो सकती है - कुछ फ़ाइलों पर इसका परीक्षण करें जिन्हें आप पहले गड़बड़ नहीं कर रहे हैं।
इस ओवर सेड का लाभ यह है कि विम रेगेक्स अधिक शक्तिशाली हैं, और आप प्रत्येक विकल्प को सत्यापित करने के लिए सी विकल्प जोड़ सकते हैं।
संपादित करें: मैंने अपनी मूल पोस्ट को गलत होने के बाद संशोधित किया। मैं प्रत्येक फ़ाइल में पहला मैच खोजने के लिए 1vimgrep का उपयोग कर रहा था, लेकिन मैंने दस्तावेज़ों को गलत तरीके से पढ़ा - यह केवल सभी फ़ाइलों में एक मैच पाता है।
स्रोत
2010-01-23 10:37:14
[यहां] (http: // stackoverflow।com/a/13944042/834176) पुनरावर्ती रूप से खोजने और प्रतिस्थापित करने का एक तरीका है, लेकिन केवल संस्करण नियंत्रण के तहत फ़ाइलों पर (यदि आप वास्तव में निर्देशिका के अंतर्गत * सभी * फ़ाइलों को खोजना चाहते हैं तो इसे सामान्यीकृत किया जा सकता है)। –