कैसे यह ओवरराइट करने के बिना एक विम रजिस्टर में लाइनों को जोड़ने के लिए


85

मैं एक रजिस्टर में एक लाइन डालना चाहता हूं: "{register}yलेकिन पहले जो रजिस्टर में था उसे ओवरराइट किए बिना। मुझे अक्सर एक रजिस्टर में गैर-सन्निहित लाइनों की प्रतिलिपि बनाने की आवश्यकता होती है, और मैं कभी-कभी रजिस्टरों को स्टैक की तरह उपयोग करना चाहता हूं।

उदाहरण:

line1
line2
line3

मैं line1उस पर कर्सर रखकर और दर्ज करके "ay, फिर चलकर line3और करना चाहता हूं "ay। फिर, जब मैं करूँगा "ap, दोनों line1और line3चिपकाया जाएगा।

क्या यह प्लगइन्स के बिना संभव है? प्लगइन्स के साथ?


फ़ाइल के शीर्ष पर परिभाषाओं की त्वरित सूची बनाने के लिए बढ़िया है।
जो मैकग्राथ

जवाबों:


132

यदि आप नामांकित रजिस्टर के उपयोग के लिए आवेदन करना चाहते हैं, तो यह ऊपरी मामले का चरित्र है। आपके उदाहरण में:

"Ayy
"Ayy
"एपी

11
क्या गैर-नाम पंजीकृत करने के लिए अपील करने का कोई संभावित तरीका है? (मुख्य एक)
ज़ाफी


लोगों को एक पृष्ठ पर जाने के लिए ^ ^, IMO नामांकित रजिस्टर का उपयोग करना आसान है। जब आप "एक सोच, 'रजिस्टर ए ...'" ए 'टाइप करने के लिए टाइप करते हैं, तो एक'
रोब किटी

12

बस मार्कबी की प्रतिक्रिया पर विस्तार करने के लिए, क्या आप जानते हैं कि आप अपने यैंक के लिए पाठ का एक ब्लॉक चुनने के लिए मार्कर का उपयोग कर सकते हैं?

ब्लॉक की पहली पंक्ति पर जाएं, जिसे आप मार्कर के रूप में एक अक्षर का चयन करने के बाद चिह्नित करना चाहते हैं

ma  (entered in command mode, i.e. no colon)

फिर उस ब्लॉक के निचले भाग पर जाएं जिसे आप यैंक करना चाहते हैं और कमांड दर्ज करें:

:'a,.ya A

इस कमांड का अर्थ है कि मेरे मार्कर वाले लाइन से टेक्स्ट के ब्लॉक को वर्तमान लाइन तक ले जाएं और इसे बफर ए में जमा दें। MarkB के अनुसार समान नियम लागू होते हैं, बफर को अधिलेखित करने के लिए लोअरकेस बफर नाम का उपयोग करें। बफर में संलग्न करने के लिए अपरकेस बफर नाम का उपयोग करें। तो इस मामले में यह बफर ए की सामग्री के लिए संलग्न होगा।

नायब आपके मार्कर के लिए उपयोग किए गए 'a' का आपके रजिस्टर का चयन करने के लिए उपयोग किए जाने वाले 'a' से कोई लेना-देना नहीं है। (AFAIK लेकिन YMMV)

BTW 'a (apostrophe a) मार्कर से युक्त रेखा को संदर्भित करता है a। जब आप मा में प्रवेश करते हैं तो `(बैककवर ए) कर्सर के नीचे के चरित्र को संदर्भित करता है।

`ad`b (also entered in command mode)

उपयोगी है क्योंकि यह मार्कर के साथ चिह्नित चरित्र के बीच के पाठ को हटा देगा, चरित्र से ठीक पहले जो आपने मार्कर बी के साथ चिह्नित किया है।


'a .ya। एक काम करता है, लेकिन जब मैं टिक के साथ कोशिश करता हूं -> `a यह कहता है: E492: नहीं एक संपादक आदेश:` a .ya a। बस एक अक्षर का उपयोग न करने में मदद की होगी। उदाहरण में मार्कर के लिए की तुलना में इसलिए यह स्पष्ट है कि कौन सा पत्र किस चीज का है :)
जस्टिन डब्ल्यूएपी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.