खोज में स्लैश से बचने के लिए वैकल्पिक और लंबे तारों के लिए प्रतिस्थापित करें


10

क्या स्ट्रिंग में हर विशेष चरित्र से बचने की तुलना में विम खोज का कोई विकल्प है और तार की जगह है।

उदाहरण के लिए, अगर मैं निम्नलिखित स्ट्रिंग का मिलान करना चाहता हूं और कुछ के साथ प्रतिस्थापित करना चाहता हूं

[ERROR] Login unsucessful

फिर मुझे करना है

:%s/\[ERROR\]\ Login\ unsucessful/something/g

और यह बहुत अधिक कुरूप और जटिल हो जाता है, जिसमें विशेष वर्णों के जटिल तार होते हैं

मैं कुछ ऐसा करना चाहूंगा

:%s/"[ERROR] Login unsucessful"/something/g

जो बच निकलने से बचता है। क्या इस तरह की कोई विशेषता है?

जवाबों:


16

आप very-nomagicस्विच का उपयोग कर सकते हैं । :h \Vविवरण के लिए देखें। यह आपको देगा %s/\V[ERROR] Login unsuccessful/something/gnomagicस्विच भी है \M, जिसका हल्का संस्करण है \Vऔर इसका व्यापक रूप से उपयोग नहीं किया जाता है।

यह भी ध्यान रखें कि आपको रिक्त स्थान से बचना नहीं है जैसा कि आप अपने उदाहरण में करते हैं, भले ही उपयोग न कर रहे हों \V


धन्यवाद। बिल्कुल वही जो मैं चाहता था। यह मेरी Google खोज पर नहीं मिला, क्यों नहीं।
मोहित C

2
@MohitC मैं नक्शा /करने के लिए /\vतो मैं मैप किया गया है, ज्यादा खोजों "बहुत जादू" सक्षम करने के लिए //करने के लिए /एक असंशोधित खोज (खोज इतिहास अनदेखी संशोधक के माध्यम से जा के लिए उपयोगी) शुरू करने के लिए और /v/करने के लिए /\Vजल्दी से खोज के लिए सभी जादू बंद करने के लिए।
काइल स्ट्रैंड

@MohitC वास्तव में, मेरा सेटअप उससे अधिक जटिल है, क्योंकि मैं सभी संदर्भों में यथासंभव "बहुत जादू" का उपयोग करने के लिए एक प्लगइन का उपयोग करता हूं। मेरा जवाब यहां देखें ।
काइल स्ट्रैंड

7

आपको रिक्त स्थान से बचने की आवश्यकता नहीं है। तो यह:

:%s/\[ERROR\]\ Login\ unsucessful/something/g

वास्तव में होना चाहिए:

:%s/\[ERROR\] Login unsucessful/something/g

और, ज़ाहिर है, आप उन विशेष पात्रों को कम विशेष बनाने के लिए बहुत ही नाममात्र "मोड" सक्षम कर सकते हैं :

:%s/\V[ERROR] Login unsucessful/something/g

देखते हैं :help /magic


2

अन्य उत्तरों में नाममात्र झंडे के अलावा ।

अक्सर ऐसा होता है कि आपको अपने खोज स्ट्रिंग में सटीक होने की आवश्यकता नहीं होती है

उदाहरण के लिए, मिलान करने के लिए

[ERROR] Login unsucessful

आप अभिव्यक्ति का उपयोग कर सकते हैं

.ERROR. Login unsucessful

जाहिर है, आपको यह जानना होगा कि आपके डेटा में अन्य स्ट्रिंग्स नहीं होंगे, आपके इच्छित लक्ष्य से भिन्न लेकिन अभिव्यक्ति का मिलान।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.