vi

2011-10-14 33 views
63

में लाइन के अंत तक वर्तमान स्थिति से प्रतिलिपि कैसे करें I विंडोज़ में gvim का उपयोग करें। वर्तमान स्थिति से पाठ को vi में लाइन के अंत तक कॉपी करने के लिए और इसे vi में खोले गए किसी अन्य फ़ाइल में पेस्ट करने के लिए कैसे करें। मैंने इसे गुगल किया लेकिन इसके लिए कोई समाधान नहीं मिला। इस पर किसी भी मदद की सराहना करते हैं। धन्यवाद।vi

उत्तर

101

लाइन के अंत में जाने के लिए सामान्य-मोड कमांड $ है। आप y$ के साथ लाइन के अंत में प्रतिलिपि बना सकते हैं और p के साथ पेस्ट कर सकते हैं। विभिन्न उदाहरणों के बीच प्रतिलिपि बनाने/चिपकाने के लिए, आप * रजिस्टर का चयन करके सिस्टम क्लिपबोर्ड का उपयोग कर सकते हैं, इसलिए प्रतिलिपि बनाने के लिए "*p प्रतिलिपि बनाने के लिए आदेश "*y$ बन जाते हैं।

अधिक जानकारी के लिए :h registers देखें।

+0

धन्यवाद। लेकिन मैं सामग्री को 'vi में खोला' 'दूसरी फ़ाइल' में पेस्ट करना चाहता हूं। यह केवल एक ही फाइल के साथ काम करता है। – javalearner

+2

यह उसी घटना के भीतर खुले किसी भी फ़ाइल के लिए काम करेगा। आप '*' (या '+') रजिस्टर का चयन करके सिस्टम क्लिपबोर्ड पर प्रतिलिपि बना सकते हैं। –

+1

उत्कृष्ट। धन्यवाद .. – javalearner

28

यदि आप यांक के साथ लाइन ब्रेक शामिल नहीं करना चाहते हैं, तो आप yg_ का उपयोग कर सकते हैं। (या आपके मामले में, "*yg_)

असल में, बस पहचानें कि $ और g_ आंदोलन के अनुसार अंतर है। यह कई मौकों पर मेरी मदद की है।

+1

क्या 'g_' और '$' को स्वैप करने के लिए वैसे भी है? गति में लाइन ब्रेक को शामिल करने की आवश्यकता होने पर मुझे शायद ही कभी मिल जाए। –

+0

हाँ! अतिरिक्त नई लाइन मुझे पागल कर रही है। यह आवश्यक जानकारी है। – javadba

+2

@JonathanDumaine आपके '$ MYVIMRC 'में लाइन' nmap $ g_' – thedanotto

2

अपने .vimrc

" Make Y yank till end of line 
nnoremap Y y$ 

अधिक करने के लिए इस पंक्ति जोड़ें my vimrc पर।

2

एक अलग समाधान: Dp और इसे p के साथ पेस्ट करें। असल में यह पहली पंक्ति के अंत तक हटा देता है और इसे उसी स्थान पर फिर से चिपकाता है। इसे p के साथ कहीं और पेस्ट करें।