अपरकेस अक्षर और विशिष्ट अक्षर के साथ समाप्त होने वाले शब्द का मिलान कैसे करें?


9

मेरे पास lblSERINOdवाक्यों जैसे शब्द हैं । शब्दों को श्वेत स्थान से अलग किया जाता है।

मैं dऐसे सभी शब्दों के अंत में प्रतिस्थापित करना चाहता हूं u। उदाहरण के लिए lblSERINOdऐसा लगेगा lblSERINOu

मैंने कोशिश की है, s/.*\ud /u /gलेकिन विम का कहना है कि यह नहीं मिल सकता है .*\ud

यहां क्या समस्या है?

जवाबों:


10

ऐसा करने का एक तरीका यह होगा:

:%s/\u\zsd\>/u/g

शुरू में मुझे लगता है कि नए विम regex इंजन ( "के रूप में तेजी से है, लेकिन सीमित" विज्ञापित किया जा रहा) नहीं समझ सकता ग्रहण \uमें :substituteहै, लेकिन यह मामला नहीं है। मैं नहीं बल्कि अब लगता है कि ओपी उपयोग करने के लिए भूल गया %और बस गलत लाइन पर खोजा गया; यह त्रुटि संदेश की व्याख्या करेगा, लेकिन निश्चित रूप से अभी भी "कारण" के रूप में पुष्टि करने की आवश्यकता है।


2
क्या आप 'पुनः' इंजन की चीज के बारे में निश्चित हैं? मैं यह नहीं देखता कि इससे क्या फर्क पड़ता है।
क्रिश्चियन ब्रेबेंड

नहीं, बिल्कुल यकीन नहीं है ... मैंने एक त्वरित परीक्षण किया जो काम नहीं किया, फिर patternमदद फ़ाइल के बारे में फिर से पढ़ा , उल्लेख किया कि नया इंजन पुराने की तुलना में अधिक सीमित है, यह माना जाता है कि इसका कारण है .. मेरा पहला परीक्षण बल्कि / संभवतः त्रुटिपूर्ण था
VanLaser

5

ऐसा लगता है कि आपने विम के 'magic'विकल्प को अपने डिफ़ॉल्ट से बदल दिया होगा 'nomagic'। आप इसे कमांड से देख सकते हैं

:verbose set magic?

पर दस्तावेज के रूप में : मदद / जादू , 'nomagic'का कारण बनता है .एक regexp के बजाय एक शाब्दिक डॉट metacharacter जिसका अर्थ है "किसी भी चरित्र से मेल" के रूप में इलाज किया जाना है।

मैं इस विकल्प को इसके डिफ़ॉल्ट मूल्य पर छोड़ने की अत्यधिक सलाह दूंगा। यह कुछ विकल्पों में से एक है जो वास्तव में मौजूद नहीं होना चाहिए और प्लगइन्स में सूक्ष्म समस्याओं का कारण बन सकता है।

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