मैं अपने vimrc में निम्नलिखित है:
func! AddSpaceBeforeEqual()
s/\([a-z)_0-9"'\[\]]\)=/\1 =/ge
endfunc
मैं अपने vimrc को लिंट करने के लिए vint का उपयोग कर रहा हूं , और निम्नलिखित चेतावनी मिली:
ProhibitCommandWithUnintendedSideEffect अनपेक्षित साइड इफेक्ट्स वाले कमांड से बचें। उपयोग करने से बचें: s [ubstitute] क्योंकि यह कर्सर ले जाता है और एरर मैसेज को प्रिंट करता है। कार्यों को प्राथमिकता दें (जैसे खोज) () स्क्रिप्ट के लिए बेहतर अनुकूल हैं। कई vim कमांड के लिए, फ़ंक्शन मौजूद हैं जो कम साइड इफेक्ट के साथ एक ही काम करते हैं। देखें: मदद कार्यों () में निर्मित कार्यों की एक सूची के लिए। Google Vimscript स्टाइल गाइड
हालांकि, मुझे नहीं लगता कि वे :s
कमांड का उपयोग किए बिना प्रतिस्थापन करने का एक तरीका है ।
उदाहरण के लिए, search()
फ़ंक्शन एक पैटर्न से मेल खाती लाइनें देता है, लेकिन प्रतिस्थापन करने का कोई तरीका नहीं है। substitute()
समारोह एक स्ट्रिंग पर चल रही है, और एक पूरी फाइल पर स्थानापन्न नहीं करता है।
क्या मुझे स्वयं एक विकल्प विधि को लागू करना चाहिए, या वे मेरे कार्य को फिर से लिखने का एक स्मार्ट तरीका है?
:help function-search-undo