2010-04-17 10 views
7

मुझे पता है कि निम्नलिखित टाइप करके:% s/iwanthis/replacebythis/g फ़ाइल के सभी मिलान करने वाले शब्दों को बदल देगा। फ़ोल्डर में सभी फ़ाइलों के लिए मैं वही कैसे कर सकता हूं?मैं विम में किसी फ़ोल्डर में सभी फ़ाइलों को एक शब्द को कैसे बदल सकता हूं?

(वास्तव में इस तरह के शब्दों का एक बहुत जगह: padding-bottom: 5px;)

उत्तर

8

ओपन सभी बफ़र्स में लोड फाइलों के साथ विम, और bufdo साथ एक ही बार में सभी बफ़र्स पर बदलने के कार्य करें:

% vim * 
... when vim has loaded: 
:bufdo %s/iwanthis/replacedbythis/g | w 

| w प्रत्येक फ़ाइल को डिस्क पर वापस लिख देगा।

0

आप greplace.vim को आजमा सकते हैं जो आपको एक बफर दे सकता है जिसमें कई फ़ाइलों में दिए गए रेगेक्स से मेल खाने वाली सभी पंक्तियां शामिल हैं, फिर आप बफर में चीजों को संशोधित कर सकते हैं, और फिर इन सभी फ़ाइलों में सभी परिवर्तनों को अपडेट करने के लिए एक और greplace कमांड को कॉल कर सकते हैं ।

0

आशा इस इस कोड को निर्दिष्ट पथ (/ your_path/करने के लिए/फ़ोल्डर) में पाठ की सभी घटनाओं की जगह जो लोग vim

 

find /your_path/to/folder -type f -exec sed -i 's/text_to_be_replaced/new_text/g' {} \; 
 

बिना काम के लिए उपयोगी होगा। सोचा कि यह किसी के लिए सहायक हो सकता है।

संबंधित मुद्दे

 संबंधित मुद्दे