2011-02-04 14 views
5

एक नौसिखिया उपयोगकर्ता के रूप में, मैंने लाइनों को हटाने के लिए d[count]<Enter> का उपयोग किया।
यह मुझे अजीब लगता है कि हमेशा गिनती + 1 लाइनें हटा दी गईं।
अगर मैं 2 लाइनों को हटाने के लिए चाहता था, मैं d1 टाइप किया, 3 लाइनों d2, ले लिया ...के बीच अंतर: डी [गिनती] और डी [गिनती]

मैं अंत में क्यों समझने की कोशिश कर समय लगा और यह मैं :d<count> उपयोग किया गया है चाहिए प्रकट होता है।

हालांकि सवाल के लिए भीख माँगती हूँ करता है यही कारण है, क्यों :d1<Enter> <>d1<Enter>

उत्तर

11

d<count> सामान्य मोड में कुछ भी नहीं है, क्योंकि गिनती एक प्रस्ताव के बाद नहीं है। तो संभवतः आप d<count><Enter> पर टक्कर मार रहे हैं, इस मामले में d से जुड़ी गति <count><Enter> है, जो <count> रेखाओं को नीचे की ओर ले जाती है। चूंकि <Enter> एक पंक्तिबद्ध गति है, d भी लाइनवाइज होगा, मौजूदा लाइन से सभी लाइनों को <count> नीचे, समावेशी में हटा देगा।

कमांड वास्तव में चाहता था <count>dd

+0

+1 आपने सही माना। धन्यवाद। –

+1

अच्छी व्याख्या, मैं सामान्य रूप से सामान्य रूप से 'd1' कोशिश कर रहा था बिना सफलता के ... मैं' डीडी 'के बारे में नहीं जानता था' मैं 'डी जे' या' डी के' का उपयोग कर रहा था हमेशा एक करके गिनती खो रहा था .. विम के साथ मजाकिया बात यह है कि एक ही लक्ष्य को प्राप्त करने के लिए हमेशा कई तरीके हैं। –

4

d{motion}{motion} पर पाठ को हटा देता है। जब आप 3<ENTER> टाइप करते हैं, तो कर्सर वर्तमान से नीचे 3 लाइनों को चलाता है और इसलिए d3<ENTER> उस क्षेत्र को हटा देता है।

:d[count] बस [count] लाइनों को हटा देता है।

अंतर यह है कि {motion}count जैसा नहीं है।

इसके आस-पास पहुंचने के लिए, आप visual मोड का उपयोग कर सकते हैं और चुनें कि आप क्या हटाना चाहते हैं और फिर बस d दबाएं।

+0

+1 अब पूरी तरह से समझ में आता है। –

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