मैं कर्सर स्थिति पर शुरू होने वाले वीआईएम में एक पंक्ति को जल्दी से कैसे हटा सकता हूं?


267

मैं VIM में कर्सर की स्थिति पर शुरू होने वाली शेष रेखा को हटाना चाहता हूं। क्या ऐसा करने के लिए एक आसान आदेश है?

चित्रण में मदद करने के लिए, यह कमांड से पहले है।

The quick brown dog jumps over the lazy fox.
     ^
     |----- Cursor is here.

यह कमांड के बाद है

The q
     ^
     |----- Cursor is here.

जवाबों:


430

(टिप्पणीकार के अच्छे योगों को शामिल करने के लिए संपादित :)

Dया इसके समकक्ष d$शेष पंक्ति को हटा देगा और आपको कमांड मोड में छोड़ देगा। Cया c$बाकी लाइन को हटा देगा और आपको इन्सर्ट मोड में डाल देगा, और नए टेक्स्ट को लाइन में जोड़ दिया जाएगा।

यह vitutorऔर vimtutorशुरुआती के लिए उत्कृष्ट "रीड" का हिस्सा है।


1
ब्लास्ट, मुझे लगा कि यह कुछ आसान है, मैं सोच रहा था कि कुछ के dबाद का संयोजन । मुझे लगा कि प्रश्न को यहाँ पोस्ट करने के साथ-साथ अन्य लोगों को भी लाभ होगा जो मैन्युअल पढ़ने से पहले ऑनलाइन खोज करने के लिए डिफ़ॉल्ट हैं।
एंथनी

2
या C, कर्सर को इंगित स्थिति में लाने का एकमात्र "वास्तविक" तरीका है, हालांकि यह आपको सम्मिलित मोड में डालता है।
वाल्टर

1
@Anthony: वहाँ भी है एक " dके लिए -equivalent आदेश कुछ के बाद" D, जहाँ "कुछ" है $प्रस्ताव: d$
ib।

2
और अगर आप इन्सर्ट मोड में समाप्त करना चाहते हैं, तो C(या c$)
बेनोइट

7
मुझे पता है कि इस समाधान का उत्तर पहले ही दिया जा चुका है, लेकिन मैं वीआईएम के साथ एक पूरी लाइन को हटाने के लिए रास्ता ढूंढ रहा था और यह पाया। विकल्प यह है कि मैं देख रहा था ddकमांड मोड से था । मुझे उम्मीद है कि इस पार ठोकर खाने वाले किसी भी अन्य की मदद करता है।
फ्रिटो


21

आपको इसमें रुचि भी हो सकती है C, यह पंक्ति के अंत को भी हटा देगा D, लेकिन इसके अतिरिक्त यह आपको कर्सर स्थान पर इंसर्ट मोड में डाल देगा।




5

यह एक बहुत पुराना प्रश्न है, लेकिन जैसा कि वीआईएम अभी भी प्रासंगिक है, कुछ स्पष्ट किया जाना चाहिए।

अक्टूबर 2018 तक हर उत्तर और टिप्पणी के रूप में संदर्भित किया गया है जिसे आमतौर पर "कट" कार्रवाई के रूप में जाना जाता है, इस प्रकार उनमें से किसी का उपयोग करके जो भी वर्तमान में वीआईएम के अनाम रजिस्टर में है उसे प्रतिस्थापित करेगा । यह रजिस्टर एक डिफ़ॉल्ट कॉपी / पेस्ट क्लिपबोर्ड की तरह व्यवहार किया जाता है, इसलिए इनमें से कोई भी उत्तर वांछित काम नहीं करेगा यदि आप बाद में उसी स्थान पर कुछ पेस्ट करने के लिए शेष लाइन को हटा रहे हैं, क्योंकि जो कुछ भी हटा दिया गया था, उसे बाद में चिपकाया जाएगा पहले जो कुछ भी था, उसके स्थान पर।

ओपी के संदर्भ में सच्चा डिलीट कमांड है "_D(या "_Cयदि इंसर्ट मोड वांछित है) तो यह डिलीट किए गए कंटेंट को इसमें भेज देता है ब्लैक होल रजिस्टर है "_, जिसके द्वारा इसे कभी भी कोई परेशान नहीं करेगा (हालांकि आप अभी भी इस एक्शन का उपयोग करके पूर्ववत कर सकते हैं u)।

कहा जा रहा है, जो कुछ भी पिछले yanked में संग्रहीत किया गया था 0 रजिस्टर , और भले ही इसे अनाम रजिस्टर में बदल दिया जाए, फिर भी इसका उपयोग करके चिपकाया जा सकता है "0p

अतिरिक्त VIM मस्ती के लिए सामान्य रूप से ब्लैक होल रजिस्टर और रजिस्टर के बारे में अधिक जानें !


4

Dया ddरजिस्टर में लाइन को हटाता है और कॉपी करता है। आप उपयोग कर सकते हैं Vxजो केवल लाइन को हटाता है और सामान्य मोड में रहता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.