Vim में Ctrl-w को पूर्ववत करें


4

मैं vim का एक समर्थक उपयोगकर्ता हूँ, हालाँकि, किसी भी तरह मैं निश्चित रूप से पूर्ववत समय का उपयोग नहीं कर पाया हूँ, या शायद मुझे यह वास्तव में पसंद नहीं है। क्या कोई ऐसा तरीका है जिससे मैं किसी विलोपन को पूर्ववत कर सकता हूं Ctrl- w W3I मदद के लिए वास्तव में आभारी होगा।

धन्यवाद।


यदि आप पूर्ववत करने की बात कर रहे हैं ^ W एक इन्सर्ट ऑपरेशन के हिस्से के रूप में बनाया गया है, तो मैं जानना चाहता हूँ। मुझे लगता है कि आप इसे किसी ऐसी चीज़ के लिए रीमैप कर सकते हैं जो किसी स्क्रिप्ट- या बफर-लोकल वैरिएबल में वैल्यू को सेव करती है, लेकिन मुझे नहीं लगता कि इसे बनाने का कोई तरीका है। लेकिन मैं आपके समय-पूर्ववत, अर्थात g-और g+, जो AFAIK के उपयोग से संबंधित नहीं है, के आपके उल्लेख से भ्रमित हूं i_^W
29:56

जवाबों:


4

टिप शीर्षक को संदर्भित करता है Ctrl+ Uजो समान है, लेकिन काफी के रूप में ही नहीं Ctrl+ W। हालाँकि दोनों के लिए एक ही विधि का उपयोग किया जा सकता है।

आकस्मिक Ctrl+ से पुनर्प्राप्त करें U

आप इन विलोपन को पूर्ववत नहीं कर सकते। हालाँकि, आपने जो टाइप किया है वह अभी भी .रजिस्टर में है। आप पुष्टि कर सकते हैं कि ( Escसामान्य मोड में लौटने के लिए दबाव डालने के बाद ) कमांड के साथ :regजो सभी रजिस्टर (या बस रजिस्टर :reg .प्रदर्शित करने के लिए .) को सूचीबद्ध करेगा । आप अनुपलब्ध पाठ को रजिस्टर डिस्प्ले से कॉपी कर सकते हैं, उदाहरण के लिए, माउस के साथ।

दुर्भाग्य से, .रजिस्टर को चिपकाने से मदद नहीं मिलेगी क्योंकि यह Ctrl- uया Ctrl- दोहराएगा wऔर फिर से पाठ को हटा देगा। हालाँकि, आप दूसरे रजिस्टर ( aनिम्नलिखित में रजिस्टर ) का उपयोग कर सकते हैं :

:let @a = @.
"aP

उपरोक्त आपके द्वारा डाले गए सभी पाठों को पेस्ट करेगा, जिसमें गलती से हटा दिया गया था।


क्या इस क्रिया को स्वचालित करने के लिए एक फ़ंक्शन में "सेटलाइन ()" और "स्थानापन्न ()" का उपयोग करना संभव होगा?
सर्जियोआराउजो

3
:inoremap <C-w> <C-g>u<C-w>

<C-g>uवर्तमान बिंदु पर पूर्ववत बिंदु सेट करता है। और फिर <C-w>डिलीट करने का काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.