पी ने मौजूदा शब्द के बाद, वर्तमान लाइन के बाद एक कॉपी की गई लाइन को क्यों पेस्ट किया?


12

मान लीजिए कि मेरी निम्नलिखित चार पंक्तियाँ हैं:

line1
line2
line3
line4

अब अगर मैं जाऊं line1और एक yyलाइन को line3कॉपी करूं और फिर 'पी' का उपयोग करके शुरुआत करें और एक पेस्ट करें, मुझे मिलेगा

...
line3
line1
line4
....

नई लाइन में डालने के line1बाद यह पेस्ट क्यों किया line3?

मेरा प्रारंभिक हालांकि था क्योंकि न्यूलाइन कैरेक्टर $ लाइन 3 से जुड़ा हुआ था और जब मैंने दबाया pविम line3$को एक शब्द के रूप में माना जाता है, तो यह बाद में चिपकाया जाता है line3$। हालाँकि ऐसा लगता है कि मेरी समझ गलत थी। क्योंकि अगर मैं ऐसा करता हूं line3 $और फिर pरेखा के शुरू में ऐसा करता हूं तो मुझे वही परिणाम मिलता है।

क्यों pएक नई लाइन बनाता है और एक नई लाइन में पेस्ट करता है line3?

जवाबों:


21

जब आपने लाइन का उपयोग करके हटा दिया dd, तो आपने एक लाइनविज़ डिलीट किया।

pआदेश कर्सर की स्थिति के बाद चिपकाता है। चूंकि डिफॉल्ट रजिस्टर लाइनविज कंटेंट से पॉप्युलर था, इसका मतलब यह है कि कर्सर ऑन होने के बाद यह पेस्ट हो जाएगा।

यदि आपने इसके बजाय वर्ण की विधि (उदाहरण के लिए 0D) में लाइन की सामग्री को हटा दिया था , तो रजिस्टर चरित्रवान होता और इसलिए वर्ण के बाद कर्सर पर चिपकाया जाता था।

सामान्य तौर पर, व्यवहार को उस चीज़ का पालन करना चाहिए जो किसी डिलीट / यैंक और पेस्ट से अपेक्षित हो। हालाँकि, getreg () / setreg ()-wise का उपयोग करके रजिस्टर के नेस को संशोधित करना संभव है ।

हालांकि, ऐसा करने में सावधानी बरतें। अपने प्रारंभिक उदाहरण को देखते हुए, बस रजिस्टर को चरित्रवान बनाने के लिए नई लाइन को हटाना नहीं है जो डिलीट का हिस्सा था। यह सिर्फ बदलता है कि पेस्ट कैसे होता है।


किसी संपूर्ण पंक्ति को हटाने के विशिष्ट परिदृश्य पर अनुशंसाओं के लिए लेकिन इसे वर्णानुक्रम से चिपकाते हुए, इस पोस्ट को देखें ।

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