में पैटर्न के बाद लाइन ब्रेक जोड़ना मेरे पास एक सीएसएस फ़ाइल है और मैं प्रत्येक }
के बाद एक खाली रेखा जोड़ना चाहता हूं।वीआईएम
मैं इसे विम में कैसे कर सकता हूं?
में पैटर्न के बाद लाइन ब्रेक जोड़ना मेरे पास एक सीएसएस फ़ाइल है और मैं प्रत्येक }
के बाद एक खाली रेखा जोड़ना चाहता हूं।वीआईएम
मैं इसे विम में कैसे कर सकता हूं?
एक प्रतिस्थापन अच्छी तरह से काम करेगा।
:%s/}/\0\r/g
पूरे मैच \0
और एक नई लाइन चरित्र \r
साथ }
बदलें।
या
:%s/}/&\r/g
कहाँ &
भी पूरे मैच के लिए एक विकल्प है, मेरी राय में थोड़ा अजीब लग रहा है, हालांकि। विम गोल्फर्स इसे पसंद करते हैं क्योंकि यह उन्हें एक कीस्ट्रोक बचाता है :)
\0
या &
प्रतिस्थापन के प्रतिस्थापन भाग में एक विशेष चरित्र के रूप में कार्य करता है। प्रतिस्थापन के दौरान प्रतिबिंबित होने वाली पूरी स्ट्रिंग प्रतिस्थापन में \0
या &
वर्ण को प्रतिस्थापित करती है।
हम एक अधिक जटिल खोज के साथ इस प्रदर्शन कर सकते हैं और उन्हें बदल दें -
Which witch is which?
एक प्रतिस्थापन लागू करें -
:s/[wW][ih][ti]ch/The \0/g
देता है -
The Which The witch is The which?
जवाब :%s/}/}\r/
मुझे लगता है कि है।
:%s/pre/cur\r/g
%
: पूरे बफर पर काम करें।
pre
(पिछला पैटर्न): कौन सा पैटर्न बदलना होगा।
cur
(वर्तमान पैटर्न): जिसके द्वारा पिछले पैटर्न को बदला जाएगा।
\r
: नई लाइन।
g
: रेखा पर प्रत्येक मैच के लिए दोहराएं (डिफ़ॉल्ट केवल पहले को प्रतिस्थापित करना है)।
इस तरह के एक शुरुआती प्रश्न के लिए, एक स्पष्टीकरण निश्चित रूप से मदद करेगा: '\ 0' (छोटा होगा 'और'' मैच फिर से सम्मिलित करेगा, '\ r' एक नई लाइन के लिए बचने का अनुक्रम है (आमतौर पर एक प्रतिस्थापन में, आमतौर पर यह '\ n' है)। –