2011-11-27 13 views
6

मैं एक-एक करके टाइप करने के बजाय वर्टिकल लाइन कैसे आकर्षित करूं?मैं वीआईएम में लाइन कैसे आकर्षित करूं?

उदाहरण के लिए, मैं 20 पंक्तियों के लिए कॉलम 10 में एक लंबवत रेखा सेट करना चाहता हूं। बस मेरी पहली पंक्ति की तरह। मैं स्मार्ट तरीके से ऐसा कैसे करूं?

enter image description here

उत्तर

12

पहले, virtualedit=all खुद को पंक्ति के अंत अतीत नेविगेट करने की अनुमति के लिए सेट,:

:set virtualedit=all 

फिर ...

10|<C-V>20jr| 

कहाँ:

  • 10|: चाल आप कॉलम 10
  • स्क्रीन करने के लिए: blockwise दृश्य मोड
  • 20j प्रवेश करती है: आप नीचे ले जाता है 20 लाइनों (स्वाद के लिए समायोजित)
  • r|: सलाखों
+1

बहुत बहुत धन्यवाद। यह काम करता है और बहुत विस्तार से। – CCC

+0

@iAsk: आपका स्वागत है। – Johnsyweb

1

यह एक विम प्लगइन आप के लिए वास्तव में क्या देख रहे हैं करने के लिए प्रतीत होता है:

http://www.vim.org/scripts/script.php?script_id=40

मैं इसे अपने आप प्रयास नहीं किया है।

+0

क्यों -4 वोट? –

+5

क्योंकि शुरुआत में मैंने इसे एक असीमित टिप्पणी के साथ पोस्ट किया था और लोगों को नाराज हो गया था ... –

+0

स्पोर्ट्सशिप _and_ अनुशासन के लिए +1। इसके अलावा, निश्चित रूप से स्क्रिप्ट का उल्लेख किया जाना चाहिए। – sehe

2

निम्नलिखित virtualedit=all स्थापित करने के क्रम में बनाने के लिए के लिए एक विकल्प हल है के साथ चयन को बदल देता है स्तंभ 10 में एक | के साथ 20 पंक्तियों:

  1. Normal मोड में शुरू हो, एक उदाहरण लाइन बनाने, जैसे 10i<space><esc>r|
    • 10iअंतरिक्षअंतरिक्ष दस बार दर्ज हो जाएगा और escr| के बाद दबाने Y
    • सामान्य में के साथ एक |
  2. कॉपी पूरे लाइन के साथ अंतिम वर्ण का स्थान ले लेगा मोड, 20p
      के साथ कॉपी की गई लाइन को 20 बार पेस्ट करें
    • यह हाल ही में कॉपी लाइन 20 बार नीचे पेस्ट करेंगे, तो आप 21 समान लाइनों

संक्षेप में की कुल संख्या:

10i<space><esc>r|Y20p 
संबंधित मुद्दे