अन्य मौजूदा उत्तर सभी विम की परिभाषा और एक ब्लॉक का पता लगाने पर निर्भर हैं। इस तरह के विलोपन के लिए मेरी रणनीति गति के c
साथ संयुक्त कमांड का उपयोग करना है f
और वास्तविक चरित्र को रोकना है। यह वास्तव में स्टॉप चरित्र को हटा देगा, लेकिन चूंकि यह आखिरी कुंजी थी जिसे आपने दो बार दोहराकर दबाया था, शून्य लागत के बगल में है, और c
मोड को सम्मिलित करने के बाद से इसे फिर से सम्मिलित करेगा ।
उदाहरण के साथ समझाने के लिए
func1(x|, func2(), y);
कमांड c2f))
देगा
func1(x)|;
जो पहले कुछ अन्य उत्तरों की तुलना में कम सुरुचिपूर्ण प्रतीत हो सकता है, हालांकि ध्यान दें कि यह रणनीति सार्वभौमिक है और किसी भी ब्लॉक परिभाषा पर निर्भर नहीं करती है।
उदाहरण के लिए
<div| class="some-class">text</div>
कमांड cf>>
देगा
<div>|text</div>
या जब csv फ़ाइलों को संपादित करना पसंद है
2016-11-29,question,vi|.stackexchange.com,10435
कमांड cf,,
देगा
2016-11-29,question,vi,|10435
अक्सर मैं इसका उपयोग बाकी स्ट्रिंग को हटाने के लिए करता हूं
printf("Hello world| - a boring example\n");
सेवा मेरे
printf("Hello world\|n");
साथ में cf\\
या से
print("Hello world| - a boring example");
सेवा मेरे
print("Hello world"|);
के साथ cf""
।
यह वर्तमान स्थिति को पूछे जाने की तुलना में थोड़ी अलग जगह में बदल देता है, और सम्मिलित मोड में भी बदल जाता है। लेकिन मैं बाकी चीजों को हटाने के लिए अपने गो-टू-सॉल्यूशन को साझा करना चाहता था।
C);
इस विशेष मामले में करूंगा ।