डिफ़ॉल्ट रूप से, पेस्ट कमांड "
("अनाम") रजिस्टर का उपयोग करते हैं । प्रभावी रूप से, कोई भी आदेश जो किसी रजिस्टर को लिखता है, वह अनाम रजिस्टर को भी लिखता है, इसलिए सभी इसे प्रभावित करते हैं, हटाते हैं, और बदलते हैं। यही कारण है कि आपका yank-delete-paste अनुक्रम हटाए गए पाठ के बजाय हटाए गए पाठ को चिपकाता है।
0
रजिस्टर यहाँ कर सकते हैं। कोई भी yank कमांड जो रजिस्टर को निर्दिष्ट नहीं करता है, रजिस्टर में yanked टेक्स्ट को 0
(इसके अलावा "
) डालें । यह डिलीट या ऑपरेशंस को बदलने से प्रभावित नहीं होता है, इसलिए आप इसे इंटरमीडिएट डिलीट या चेंजेस करने पर भी कई बार येंक्ड लाइन पेस्ट करने के लिए इस्तेमाल कर सकते हैं।
yy
: रजिस्टरों 0
और "
दोनों अब yanked लाइन है।
- प्रतिस्थापित करने के लिए एक पंक्ति में जाएँ।
dd
: रजिस्टर में "
अब डिलीट लाइन है, लेकिन रजिस्टर में 0
अभी भी yanked लाइन है।
"0P
: रजिस्टर से मूल रूप से yanked लाइन पेस्ट करें 0
।
- प्रतिस्थापित करने के लिए अगली पंक्ति पर जाएं।
dd"0P
(ऊपर की तरह)
(बफर की अंतिम पंक्ति को प्रतिस्थापित करते समय कर्सर स्थिति जिस तरह से काम करती है, उसके कारण आप "0p
इसके बजाय उपयोग करना चाहेंगे "0P
।)
यह ब्रूस एडगर के जवाब के बहुत करीब है , सिवाय इसके कि आपको शुरू में यैंकिंग करते समय एक रजिस्टर निर्दिष्ट करने की आवश्यकता नहीं है। एक या एक से अधिक नामित रजिस्टरों का उपयोग करना बहुत आसान हो सकता है, यदि आपको (उदाहरण के लिए) कुछ पंक्तियों को बदलने की आवश्यकता है AAA
, लेकिन अन्य पंक्तियों के साथ BBB
( AAA
रजिस्टर में डालें a
, और BBB
रजिस्टर में b
(या रजिस्टर में उनमें से एक को छोड़ दें 0
), तो उन्हें तदनुसार पेस्ट करें )।
आप एक कीस्ट्रोक को बचाने के लिए 0
लाइन-वार विजुअल मोड ( V
) से भी पेस्ट कर सकते हैं V"0p
:।
यदि आप टाइप करना पसंद नहीं करते हैं "0
, तो आपको मैपिंग अधिक सुविधाजनक लग सकती है:
noremap <Leader>p "0p
noremap <Leader>P "0P
vnoremap <Leader>p "0p
_
("ब्लैकहोल") रजिस्टर को हटाने के लिए एक वैकल्पिक तरीका है । जब आप इसे हटाते हैं, तो "
रजिस्टर प्रभावित नहीं होता है, इसलिए आपका यैंक-डिलीट-पेस्ट अनुक्रम अभी भी अनाम कोड से याँक्ड टेक्स्ट को पेस्ट कर सकता है।
yy
: रजिस्टर 0
और "
अब दोनों yanked लाइन है।
"_dd
: रजिस्टरों में कोई बदलाव नहीं।
P
: रजिस्टर से मूल रूप से yanked पाठ चिपकाएँ "
।
फिर से, आपको एक मैपिंग और अधिक सुविधाजनक मिल सकती है:
noremap <Leader>d "_d
yy
(प्रतिस्थापित करने के लिए लाइन पर जाएं)S<C-r>0<Esc>
।.
कमांड के साथ दोहराने योग्य होने का फायदा है ।