2012-12-22 13 views
10

वहाँ एक vim खोज एवं प्रतिस्थापन में एक साथ कई शब्दों से मेल खाती की एक विधि है? foo या bar के लिए खोजमैच foo या बार vim regex

:%s/foo|bar//g 

करने के लिए और कुछ भी नहीं के साथ बदलें (इस पैटर्न foo|bar है, जो नहीं है जो मैं चाहता की खोज करता है): की तरह।

abcdef 
:%s/[ace]//g 

परिणामों में:

bdf 

मैं शब्दों के साथ एक ही बात कर सकते हैं मैं कई के लिए पात्रों इस तरह से खोज सकते हैं?

मुझे अच्छी तरह पता है कि मैं इस तरह ऐसा कर सकता है कर रहा हूँ:

:%s/foo//g 
:%s/bar//g 

मैं एक पंक्ति समाधान के लिए देख रहा हूँ, अगर ऐसी बात से मौजूद है। foo\|bar का उपयोग करें:

उत्तर

18

vim regexes में, प्रत्यावर्तन ऑपरेटर एक बैकस्लैश के साथ भाग जाना चाहिए।

9

बजाय एक बैकस्लैश के साथ | बचने का, आप vim के "very magic" mode उपयोग कर सकते हैं \v अनुक्रम के साथ:

:%s/\vfoo|bar//g