2013-07-26 7 views
5

कभी-कभी मैं इसे हटाने के बजाय vim में एक पंक्ति साफ़ करना चाहता हूं।वर्तमान लाइन को साफ़ करने के लिए एक कम कमांड?

से पहले:

foo 
bar 
lineToClear 
baz 

बाद

foo 
bar 

baz 
vim आदेशों मुझे पता है की

, निकटतम मैं यह करने के लिए प्राप्त कर सकते हैं D (ऊपरी मामले घ) है, लेकिन आम तौर पर यह मेरे टाइप करने के लिए की आवश्यकता है लाइन की शुरुआत में जाने के लिए पहले 0

मुझे पता है, मैं आलसी हूं।

क्या कोई ऐसा आदेश मौजूद है जो कर्सर के बाद वर्णों को न केवल संपूर्ण पंक्ति को साफ़ करता है?

शायद कुछ प्रकार के Containment - प्रकार का प्रत्यक्ष मस्तिष्क इंटरफ़ेस?

उत्तर

6

आप S का उपयोग कर सकते हैं। यह रेखा को साफ़ करता है, फिर आपको डालने मोड में डाल देता है। यदि आप सम्मिलित मोड नहीं करना चाहते हैं, तो 0D सबसे तेज़ कमांड सेट होगा।

जैसा कि गलतियों का उल्लेख किया गया है, आप निम्न आदेशों में से किसी एक को चलाकर कस्टम मैपिंग बना सकते हैं। पहला तर्क (एस/डी) जिसे आप चाहें बदल सकते हैं।

:nnoremap S S<Esc> 

या

:nnoremap D 0D 

Reference

+1

हाँ, और जब से तुम 'S' का उपयोग नहीं किया इससे पहले, @CoryKlein, आप इसे केवल लाइन को साफ़ करने के लिए रीमेप कर सकते हैं: 'nnoremap SS '। – glts

+1

'एस' निश्चित रूप से एक अच्छा विकल्प है, लेकिन एफडब्ल्यूआईडब्ल्यू मैं वास्तव में इसके बारे में पहले से ही जानता था। मैंने अपने प्रश्न में इसका उल्लेख नहीं किया क्योंकि औसत मामले में 'डी' पहले से ही अधिक कुशल है - कभी-कभी केवल एक कुंजी स्ट्रोक की आवश्यकता होती है, जहां 'एस' को" केवल एक लाइन उपयोग केस साफ़ करें "में दो की आवश्यकता होती है बाद में 'Ctrl-C' या 'ESC' हिट करने की आवश्यकता के लिए। –

+2

वैसे आप वहां जाते हैं, @ कोरीक्लेन, आप इससे अधिक कुशल नहीं हो सकते हैं। केवल व्यक्तिगत मैपिंग आगे अनुकूलन ला सकते हैं (क्योंकि विम में ऐसी कोई "स्पष्ट रेखा" कमांड मौजूद नहीं है)। – glts

-1

0D की तुलना में एक थोड़ा बेहतर तरीका नहीं है। यह अभी भी दो चाबियाँ है, लेकिन shift की आवश्यकता नहीं है या प्रेस करने 0 शीर्ष पंक्ति अप करने के लिए सभी तरह से जा रहा:

आप बस:

dd 
+3

'डीडी' मेरा पहला विचार भी था। हालांकि, कॉरी ने कहा, "कभी-कभी मैं ** ** ** इसे हटाने के लिए vim _rather में एक रेखा को साफ़ करना चाहता हूं।" –

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