में प्रत्येक पंक्ति मैं इन पंक्तियों के साथ एक फ़ाइल है:डुप्लिकेट छठी
aa
bb
cc
dd
मैं में इस परिवर्तित करना चाहते हैं:
aa
aa
bb
bb
cc
cc
dd
dd
VI में यह संभव है?
में प्रत्येक पंक्ति मैं इन पंक्तियों के साथ एक फ़ाइल है:डुप्लिकेट छठी
aa
bb
cc
dd
मैं में इस परिवर्तित करना चाहते हैं:
aa
aa
bb
bb
cc
cc
dd
dd
VI में यह संभव है?
इस सरल एक का प्रयास करें:
:g/^/norm yyp
फिर भी एक और एक (कम):
:%s/.*/&\r&
एक और एक:
:%!sed p
धन्यवाद के साथ कर सकते हैं। इसने काम कर दिया। – arunmoezhi
एस विकल्प के लिए धन्यवाद, क्योंकि मैं इसे दृश्य चयन के लिए ऐसा करने के लिए देख रहा था और यह मेरे लिए काम करता था। – mmarchin
उपयोग वैश्विक आदेशg
पर संचालित करने के लिए फ़ाइल में प्रत्येक पंक्ति:
:g/^/norm yyp
g
कमांड एक पैटर्न से मेल खाने वाली सभी लाइनों पर काम करेगा। ^
एक पैटर्न है जो किसी भी लाइन से मेल खाता है। norm
आदेश yyp
निष्पादित करता है, जो वर्तमान रेखा को yanks करता है, और इसे चिपकाता है। :g/^/norm Yp
भी काम करेगा।
कमांड के बारे में अधिक जानकारी के लिए :help global
देखें और g
पर यह vim wiki पृष्ठ भी देखें।
स्पष्टीकरण के लिए धन्यवाद – arunmoezhi
या सिर्फ ':% मानक वाईपी' – Conner
@ कॉनर: यह काम नहीं करता है, क्योंकि% मूल सीमा पर पुनरावृत्त होता है, लेकिन कमांड लाइन जोड़ता है। आपको यहां 'ग्लोबल' का तर्क "पहले चिह्नित करें, फिर पुनरावृत्त करें" तर्क की आवश्यकता है। –
मैं g/^/t.
g
(global
के लिए) आदेश की तरह किसी भी लाइनों है कि एक पैटर्न से मेल के लिए दिखेगा।
हमारे द्वारा निर्दिष्ट पैटर्न ^
है, जो सभी लाइनों से मेल खाता है। t
कॉपी और पेस्ट करेगा, और अंत में dot
इसे नीचे पेस्ट करने के लिए कहता है।
क्या मैं ब्रेवटी के लिए जीतता हूं?
+1 बहुत सारे तरीके। मुझे लगता है कि यह सबसे छोटा है। – kev
उत्तर के लिए धन्यवाद। मैंने इसे – arunmoezhi
ऊपर उठाया है जो मैं आमतौर पर – sehe
शायद यहां आने वाले लोगों के लिए ब्याज की रुचि: http://stackoverflow.com/q/29368158/812102 –
परमाणु दोस्त का उपयोग करें !! :)। आप इसे सीएमडी + शिफ्ट + डी (या Ctrl + Shift + D) –