मेरी एक ऐसी स्थिति थी जहां मैं एक फ़ाइल के माध्यम से बीएआर के साथ बीएआर को प्रतिस्थापित करना चाहता था; हालांकि, मैं केवल कुछ स्थानों पर ऐसा करना चाहता हूं, 68-104, 500-537, और 1044-1195 के बीच कहें। व्यवहार में मैं ब्याज की तर्ज पर मार्कर (मा, mb, एम सी, ...) गिरा दिया, और मैं निम्नलिखित भाग गया:विम खोज और प्रतिस्थापित करें - कुछ लाइनों को सीमित करें
:'a,'b s/FOO/BAR/g | 'c,'d s/FOO/BAR/g | 'e,'f s/FOO/BAR/g
मैं अलग खोज के साथ कई बार इस दर्जनों दोहराने और की जगह शर्तों रों करना पड़ा/सीएटी/डीओजी, इत्यादि, जो हर बार कमांड लाइन को फिर से लिखना पड़ता है। मैं भाग्यशाली था कि मेरे पास केवल 3 स्थान थे जिन्हें मैं अपनी खोज को सीमित करना चाहता था (कल्पना करें कि 30 या 40 थे, कमांड लाइन कितनी गन्दा हो जाएगी)।
कोई फ़ंक्शन लिखने का छोटा, क्या ऐसा करने का कोई साफ तरीका है?
संबंधित नोट पर। मैं 'एस' (खोज) रजिस्टर, और 'आर' के लिए बार (की जगह) के लिए FOO की नकल की और
:'a,'b s/\[email protected]/\[email protected]/ | 'c,'d s/\[email protected]/\[email protected]/ | 'e,'f s/\[email protected]/\[email protected]/
यह मैं प्रत्येक कमांड लाइन को फिर से लिखने के लिए होने बचाया है | की एक कमांड लाइन करने की कोशिश की समय, लेकिन हां यह काम नहीं किया। प्रतिस्थापन बिट ठीक था \ = @ r, लेकिन खोज पैटर्न में \ = @ s ने एक त्रुटि दी।
किसी भी सुझाव की सराहना की जाएगी।
तुम भी उपयोग कर सकते हैं नियंत्रण-पी और नियंत्रण -एन (मुझे लगता है) पिछले आदेशों के माध्यम से चक्र के लिए। यह आदेशों को फिर से टाइप करने की आवश्यकता को खत्म करना चाहिए। – jahroy
यदि यह सहायक था, तो जवाब स्वीकार करना सामान्य है। – epsilonhalbe