2011-09-03 20 views
13

मैं कई पंक्तियों का चयन करने की कोशिश कर रहा हूं जो निरंतर खंड में नहीं हैं। यह नहीं हो सकता हैमैं कई पंक्तियों का चयन कैसे कर सकता हूं जो निरंतर खंड में नहीं हैं?

1. this is line 1 
2. this is line 2 
3. this is line 3 

शुरू में मैंने सोचा था कि यह एक सामान्य ज्ञान काम होगा, लेकिन पिछले कुछ समय से कोई लाभ नहीं हुआ आसपास googling बिताने के बाद, मुझे एहसास हुआ: उदाहरण के लिए, मैं एक साथ लाइन 2 को चुने बिना लाइन 1 और 3 का चयन करना चाहते एक साधारण/सामान्य कार्य हो।

आपकी सहायता के लिए अग्रिम धन्यवाद।


संपादित करें: प्रतिक्रिया के लिए धन्यवाद। मैं इस सवाल के साथ कैसे आया, इस बारे में थोड़ा और जानकारी प्रदान करूंगा। मैं इसे इस तरह संरेखित करने के लिए चाहता था

1. name1="Woof" 
2. lucky_dog = lucky("dog_one"= name1, 
3.     "dog_two"= name1) 
4. name2="Howl" 

:

मैं Tabularize का उपयोग कर निम्नलिखित की तरह एक हिस्सा कोड संरेखित करने के लिए कोशिश कर रहा था,

1. name1  = "Woof" 
2. lucky_dog = lucky("dog_one"= name1, 
3.     "dog_two"= name1) 
4. name2  = "Howl" 

लेकिन मैं ऐसा नहीं कर सकते क्योंकि Tabularize ले जाएगा तीसरी पंक्ति को ध्यान में रखते हुए, और सब कुछ संरेखित करें:

1.name1      = "Woof" 
2.lucky_dog     = lucky("dog_one"= name1, 
3.     "dog_two" = name1) 
4.name2      = "Howl" 

मेरा मानना ​​है कि मैं कर सकता था वांछित परिणामों को संग्रहित करने के लिए कुछ रेगेक्स चाल के बारे में सोचें, यह पहले मेरे सामने हुआ था कि शायद मैं लाइन 1,2,4 का चयन कर सकता हूं और उन संरेखण कर सकता हूं।

तब मुझे एहसास हुआ कि यह एक आसान काम नहीं है।

इसलिए सवाल।

प्रतिक्रियाओं के लिए धन्यवाद!

+4

नहीं (के रूप में तक मुझे पता है)।लेकिन, अगर आप बताते हैं कि आप इस चयन के साथ वास्तव में क्या करना चाहते हैं तो हम इसे करने के लिए एक और तरीका ढूंढने में मदद कर सकते हैं ... शायद। – sidyll

+0

@sidyll धन्यवाद! यह सब तब शुरू हुआ जब मैं प्लगइन टैबलेटिज़ का उपयोग करके कुछ लाइनों को संरेखित करने की कोशिश कर रहा था। मैं कोड के एक हिस्से में कुछ लाइनों को छोड़ना चाहता था, लेकिन बाकी लाइनों को संरेखित करना चाहता था। मैं इसे रेगेक्स के साथ कर सकता था, लेकिन यह भी मेरे लिए हुआ कि अगर मैं एक साथ उन पंक्तियों का चयन कर सकता हूं, तो टैबुलरलाइज बस बाकी को छोड़कर चुने गए लोगों को संरेखित कर सकता है। इसलिए सवाल है। –

उत्तर

7

विम में पाठ के विभिन्न हिस्सों का चयन करना संभव नहीं है।

:g/shared unique pattern/ex or normal command here 
:

क्या आप के बजाय कर सकते हैं एक आम, अद्वितीय पैटर्न है कि लाइनों पर कार्रवाई की और 'वैश्विक' पूर्व आदेश या 'जी' की तरह उपयोग करती हैं इसलिए यह करने के लिए करना चाहते हैं द्वारा साझा किया जाता है की पहचान

उदाहरण एक रजिस्टर करने के लिए लाइनों को कॉपी करने के लिए मान लीजिए कि 'एक' रजिस्टर:

:g/shared unique pattern/normal "Ayy 

उन्हें हिट "एपी पेस्ट करने के लिए

राजधानी एक आता है कि इससे पहले कि yy vim है कि आप करना चाहते हैं बताता है एक कॉपी करें एक रजिस्टर के लिए लाइनों को जोड़ दें।

सिडिल की तरह कहा गया कि अगर आप हमें बता सकते हैं कि आप लाइनों के साथ वास्तव में क्या करना चाहते हैं तो हम आपकी मदद कर सकते हैं।

+0

जी कमांड एक अच्छा विचार है लेकिन वाईए कम से कम vim 7.3 में काम नहीं करेगा ... – lucapette

+0

मुझे यह गलत मिला, सही incantation – holygeek

+0

ठीक के लिए संपादित किया गया। वैसे, यह एकमात्र समाधान है जिसे मैं भी सोच सकता हूं। मैं सोच रहा हूं कि क्या अन्य समाधान हैं ... – lucapette

3

This script आप जिस कार्यक्षमता को ढूंढ रहे हैं उसे प्रदान करने के लिए प्रतीत होता है।

+0

धन्यवाद, मैं इसे देख लूंगा! –

11

अब है एक शानदार प्लग-इन जो विम में बहु-चयन सक्षम बनाता है: Vim-multiple-cursors:

enter image description here

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

  • कोई संबंधित समस्या नहीं^_^