2011-04-06 12 views
11

मैं एक दृश्य चयन लेना चाहता हूं और इसे फ़्लिप करना चाहता हूं ताकि चयन की पहली पंक्ति नीचे हो। से:विम में दृश्य चयन की रेखाओं को कैसे फ़्लिप करें?

<other_stuff> 
The 
wheels 
go 
round. 
<more_stuff> 

दृश्य sentnce चयन करें और फिर फ्लिप:

<other_stuff> 
round. 
go 
wheels 
The 
<more_stuff> 

किसी भी विचार कैसे बस यह करने के लिए। मुझे ऐसा करने के लिए प्लगइन स्थापित करने की आवश्यकता नहीं होगी।

+0

संबंधित: [चयनित पाठ @ विम विकिया रिवर्स] (http://vim.wikia.com/wiki/Reverse_selected_text) – Palec

+1

[SU] पर डुप्लिकेट: [कैसे उल्टा करने के लिए चयनित लाइनों vim में आदेश?] (Http://superuser.com/q/189947/269404) – Palec

उत्तर

17

का उपयोग करने के लिए कदम क्रमशः ब्लॉक की शुरुआत और अंत, ताकि आप कुछ तरीकों से जो कर सकते हैं वह कर सकें। '>dd'<P

एक पूर्व आदेश के रूप में: आप दृश्य मोड से बाहर निकलने के बाद :'>d | '<-1 put

नायब बुकमार्क्स, रहने ताकि आप इन का उपयोग करने के दृश्य मोड में बने रहने की जरूरत नहीं है

सामान्य मोड में

संपादित:

ओह, मैं प्रश्न पढ़ने में भूलना और सोचा कि आप केवल शुरू में डाल अंतिम पंक्ति चाहता था, लेकिन आप पूरे ब्लॉक उलट चाहते हैं। सरल समाधान आप एक यूनिक्स सिस्टम पर कर रहे हैं:

:'<,'>!tac 

यह पाइप यूनिक्स 'रिवर्स बिल्ली' कार्यक्रम के माध्यम से लाइनों।

+5

या ओएस एक्स पर 'tail -r'। – silvenon

+0

ग्रेट! ऐसी स्थितियां हैं जिनमें '!' बहुत समय बचाता है! –

3

:help 12.4 के अनुसार आप mt साथ पहली पंक्ति चिह्नित कर सकते हैं, अंतिम पंक्ति आप तो उलट चाहते आप एक दृश्य चयन विम स्वचालित रूप से बुकमार्क '< और '> पर करता है बनाने के आदेश :'t+1,.g/^/m 't

+0

अपनी अंतिम पंक्ति को चिह्नित करना सुनिश्चित करें * नहीं * ले जाना चाहते हैं; पहली पंक्ति नहीं है जिसे आप ले जाना चाहते हैं। – Alan

1

दृश्य मोड के साथ अधिक सहज उन लोगों के लिए:
1. चयन आप फ़्लिप :set nu का उपयोग कर करना चाहते हैं इसके बाद के संस्करण लाइन नंबर की पहचान करें।
2. चयन को हाइलाइट करने के लिए Shift-V का उपयोग करें (दृश्य मोड)।
3. :g/^/m <Line number from step 1>

ध्यान दें कि दृश्य मोड में स्वचालित रूप से :'<,'>g/^/m <Line number> के रूप में जब आप लाइन नंबर है कि आप इसे देने में एक बार में चयन एक पंक्ति को ले जाकर यह आदेश कार्यों से 3.

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

संबंधित मुद्दे