2011-10-26 7 views
9

मैं अक्सर हटाने के लिए, झटका, और कुछ इस तरह का उपयोग करके पेस्ट:दृश्य मोड में रिश्तेदार श्रेणियों पर काम करने के लिए विम में सबसे अच्छा तरीका क्या है?

:3,6y 

विम 7 के बाद से, मैं रिश्तेदार लाइन नंबर का उपयोग करने के लिए बंद कर दिया है। मुझे लगता है यह h,j,k,l आदि

तरह आदेशों के साथ रिश्तेदार लाइन नंबर का उपयोग करने के रिश्तेदार लाइन नंबर करने के लिए स्विच करने के बाद बहुत आसान है, मैं यह मुश्किल पूर्ण पर्वतमाला (जैसे। :3,6y) पर संचालित करने के लिए लगता है। यह निर्धारित करने में मुझे बहुत लंबा समय लगता है कि वीम का चयन करने के लिए मुझे कितनी पूर्ण लाइन संख्या चुननी है क्योंकि विम सापेक्ष रेखा संख्या प्रदर्शित कर रहा है।

यदि आपका सेटअप रिश्तेदार लाइन नंबर प्रदर्शित कर रहा है तो सीमा पर दृश्य चयन का उपयोग करने का सबसे अच्छा/तेज़ तरीका क्या है? Naively, मैं कुछ की तरह देख रहा हूँ:

:-2,+8y 

(yank the lines from 2 lines above my current position to 
8 lines below my current position.) 
+2

क्षमा करें, लेकिन इस तरह कुछ उपयोग करके दृश्य मोड में आप वास्तव में कैसे हटाते हैं, yank और पेस्ट करते हैं: 'v: v 3,6y'? मैं समझ नहीं पा रहा हूं कि यह आदेश दृश्य मोड से कैसे संबंधित है। – sidyll

+1

Opps, मैं इस सवाल का उद्देश्य दृश्य मोड के लिए phrased करने का इरादा नहीं था। मैंने इसे संपादित किया है ताकि यह अब सही हो। धन्यवाद। – drbunsen

उत्तर

9

क्या आपने अपनी बेवकूफ चीज की कोशिश की?

:-2,+8y:.-2,.+8y के बराबर है और जो भी आप चाहते हैं उसे करना चाहिए।

ध्यान दें कि यदि आप कोई संख्या निर्दिष्ट नहीं करते हैं, तो 1 माना जाता है, इसलिए: :,+y का अर्थ है .,.+1 y: यांक वर्तमान और अगली पंक्ति।

:help range पर यह अच्छी तरह से समझाया नहीं गया है। प्रासंगिक भागों यहां हैं:

Line numbers may be specified with:  *:range* *E14* *{address}* 
    [...] 
    .  the current line    *:.* 
    [...] 
Each may be followed (several times) by '+' or '-' and an optional number. 
This number is added or subtracted from the preceding line number. If the 
number is omitted, 1 is used. 

क्या दस्तावेज़ नहीं बताता है कि अगर + आर - कुछ भी साथ पहले नहीं है, . माना जाता है है।

+0

धन्यवाद, यह वही है जो मैं खोज रहा था। मुझे दस्तावेज़ों की अवधि के उपयोग को समझ में नहीं आया और मुझे ऋणात्मक संख्याओं का उपयोग करते समय 'पिछली रेंज दी गई, ठीक करने के लिए ठीक है (y/n)' प्राप्त हो रहा था। – drbunsen