में अंतर्निहित कमांड को अक्षम करने के लिए कैसे करें, जब मैं :wq
दबाता हूं तो यह लगभग हमेशा एक दुर्घटना होती है जो :w
इनपुट करने का प्रयास करते समय होती है। मैं :wq
अक्षम करना चाहता हूं।विम
सबसे नज़दीकी मुझे मिला cmap
है, लेकिन इसमें कुछ अजीब व्यवहार है। अगर मैं
:cmap wq w
कुछ ऐसा करता हूं तो मैं अब :wq
इनपुट भी नहीं कर सकता; यह केवल कमांड मोड में से w
पर कीस्ट्रोक अनुक्रम को रीमेप्स करता है। अब, उदाहरण के लिए, wq
युक्त स्ट्रिंग पर एक खोज/प्रतिस्थापन आदेश इनपुट नहीं कर सकता।
मैं बस सटीक कमांड :wq
से :w
या नो-ऑप को उपनाम करना चाहता हूं। क्या इसे करने का कोई तरीका है?
संपादित करें: स्पष्ट किया क्यों :cmap
के लिए मुझे
क्या आप कृपया समझा सकते हैं: cabbrew? –
मुझे लगता है कि यह ': cabbrev' होना चाहिए। ': cabbrev wq w' आपके द्वारा स्पेस दबाए जाने या दर्ज करने के बाद wq को wq में बदल देगा, इसलिए यह 'wq' do': w' बना देगा। अधिक जानकारी के लिए ': सहायता: cabbrev' और': help: ab' देखें। – DrAl
क्षमा करें, मुझे लगता है कि मैं अपने प्रश्न में पर्याप्त स्पष्ट नहीं था। यदि आप करते हैं: cmap और यह भी लगता है: cabbrew, इसका मतलब है कि कमांड मोड में "wq" कीस्ट्रोक अनुक्रम "wq" के अलावा किसी अन्य चीज़ पर मैप किया गया है। तो फिर, उदाहरण के लिए, "wq" वाली स्ट्रिंग पर एक खोज/प्रतिस्थापन नहीं कर सकते हैं। मैं बस इतना करना चाहता हूं कि अगर मैं सही कमांड इनपुट करता हूं: wq, यह "w" या no-op के लिए उपनाम है। – user85509