मैं विम 'paste'
विकल्प सेट करने का एक त्वरित तरीका चाहता हूं , कुछ पाठ सम्मिलित करता हूं , और पिछले मूल्य पर वापस लौटता हूं 'paste'
।
एक विशिष्ट उपयोग का मामला OS क्लिपबोर्ड सामग्री को शाब्दिक रूप से सम्मिलित करता है, बिना किसी इन्सर्ट मोड के पुनर्लेखन के, जो स्वचालित इंडेंटेशन जैसे सक्रिय हो सकता है, और विम की स्थिति को बदले बिना। एक अन्य उपयोग मामला एक ओएस मैक्रो फीचर को विम में कीस्ट्रोक्स को इंजेक्ट करने की अनुमति देने के लिए होगा और उन्हें शाब्दिक पाठ के रूप में व्याख्या किया जाएगा।
यह स्पष्ट रूप से अन्य विकल्पों के लिए सामान्यीकरण करता है - सामान्य विचार कुछ विकल्पों को सेट करना है लेकिन केवल सम्मिलित मोड के माध्यम से एक यात्रा की अवधि के लिए।
मूल रूप से मैं एक प्रमुख अनुक्रम (कहना _i
) को एक मैक्रो से बांधना चाहता हूं जो ऐसा करता है
:set paste
i…<Esc>
:set nopaste
जहां i…<Esc>
मेरा मतलब है कि मोड डालने के लिए स्विच ( i
कमांड के साथ ) और कमांड मोड पर लौटने पर मैक्रो को फिर से शुरू करें, सिवाय इसके कि मैं 'paste'
अभी भी सक्रिय के साथ समाप्त करना चाहता हूं अगर यह पहले से सक्रिय था। मैं यह कैसे कर सकता हूँ?
नोट: OS क्लिपबोर्ड की सामग्री को "*
रजिस्टर में मैप किया जाता है । जब वह काम करता है, तो 'paste'
विकल्प बहुत उपयोगी नहीं होता है। इस प्रश्न के लिए प्रेरक परिदृश्य उन समयों के लिए है जब "*
रजिस्टर समर्थन के लिए शर्तों को पूरा नहीं किया जाता है - विम +xterm_clipboard
सुविधा के साथ संकलित नहीं किया जाता है , या यह स्क्रीन या एसएसएच जैसे टर्मिनल में चल रहा है जो इसे परिवेश एक्स सर्वर से अलग करता है।
+
या*
रजिस्टर से चिपकाना ?