मुझे पता है कि मैंने संभवतः अपने द्वारा पढ़े गए सभी VI दस्तावेज़ों में इसे एक लाख बार देखा है, लेकिन मैं कर्सर से लाइन कमांड के अंत तक डिलीट को खोजने के लिए प्रतीत नहीं कर सकता।
मुझे पता है कि मैंने संभवतः अपने द्वारा पढ़े गए सभी VI दस्तावेज़ों में इसे एक लाख बार देखा है, लेकिन मैं कर्सर से लाइन कमांड के अंत तक डिलीट को खोजने के लिए प्रतीत नहीं कर सकता।
जवाबों:
कमांड dwवर्तमान कर्सर स्थिति से अगले शब्द चरित्र की शुरुआत तक हटा देगा। कमांड d$(नोट, यह एक डॉलर का संकेत है, 'S' नहीं) वर्तमान कर्सर स्थिति से वर्तमान लाइन के अंत तक हट जाएगा। Dके लिए एक पर्याय है d$।
dw, लेकिन मुझे लगता है कि मैंने यह मान लिया था कि "इस पंक्ति के बाकी हिस्सों को हटाएं" कमांड होगी। उदाहरण के लिए मेरी लाइन है ip=|10.1.1.1साथ |कर्सर स्थान जा रहा है। क्या कोई कमांड है जो सभी को हटा देगा 10.1.1.1?
d$
:!rm -f %और फिर :q!। जो पूरी फाइल को डिलीट कर देता है।
d^('d' + caret) ... मूल रूप से d + कोई भी वर्ण जो सामान्य रूप से मेरे विचार से कर्सर को ले जाएगा, लेकिन मैं खुद को विम सीख रहा हूं, इसलिए मैं उस पर गलत हो सकता हूं।
दूसरों के रूप में उल्लेख किया है: आप उपयोग कर सकते हैं d$या D( shift- d) कर्सर की स्थिति से लाइन के अंत तक नष्ट करने के लिए।
क्या मैं आमतौर पर अधिक उपयोगी पाते है c$या C( shift- c) यह लाइन के अंत तक कर्सर की स्थिति से हटा दिए जाएँगे क्योंकि और [INSERT] मोड में डाल।
Dमेरी राय में, ज्यादातर लोगों के लिए बेहतर है , क्योंकि यह तब आपको पंक्ति के अंत में एक स्थान पर वापस नहीं ले जाता है।
i, aजो कर्सर से पहले आवेषण और कर्सर के बाद सम्मिलित करता है। यदि आपका कर्सर लाइन के अंत में है और आप लाइन के अंत में सम्मिलित करना चाहते हैं, तो आप बस उपयोग कर सकते हैं a।
Vi के बारे में अच्छी चीजों में से एक इसकी तार्किक कमांड संरचना है। dएक गति कमांड के बाद d उस गति के लक्ष्य तक पहुंचता है। $लाइन के अंत तक जाती है (रेचक में) तो d$लाइन के अंत तक हटाता है। इसी तरह, वर्तमान शब्द eके ई nd पर wजाता है , और अगले w ऑर्ड की शुरुआत में चला जाता है ; इसलिए deवर्तमान शब्द के अंत को हटा देता है, और dwइसके बाद निम्न व्हाट्सएप को हटा देता है।
<kbd>वास्तविक कुंजियों के लिए उपयोग करता हूं , कमांड अनुक्रमों के लिए नहीं। जैसे <kbd>Ctrl</kbd>+<kbd>C</kbd>, लेकिन d$।
आप शायद डी का उपयोग करना चाहते हैं। कर्सर को उस पहले वर्ण पर ले जाएं जिसे आप हटाना चाहते हैं, फिर शिफ्ट-डी हिट करें। सब कुछ चला गया। दरअसल, यह डिफॉल्ट कट बफर में है, इसलिए आप इसे वापस P या P पेस्ट कर सकते हैं।
मैं डीपी का उपयोग करता हूं (लाइन के अंत तक हटाएं, फिर इसे वापस डालें), किसी अन्य लाइन के अंत में जाएं, फिर उसी टेक्स्ट को इस दूसरी पंक्ति के अंत में पेस्ट करने के लिए फिर से पी। कॉन्फ़िगरेशन फ़ाइलों में अद्भुत काम करता है, जहां आपको दो या अधिक स्थानों पर कुछ जटिल URL डालने की आवश्यकता होती है।
मुझे लगता है कि एक इन्सर्ट मोड शॉर्टकट काम आ सकता है।
सम्मिलित मोड में, पंक्ति के अंत तक इसे बदलना बेहतर शुरू होगा (इसे अपने पर डालें ~/.vimrc):
inoremap <C-l> <C-o>C
तो तुम हो, के रूप में कहा गया है, Dसामान्य मोड और में Ctrl+ lडालने मोड में। जैसा कि आप देख सकते हैं Cकि आपके पास भी है जो लाइन के अंत तक बदलना शुरू कर देता है।
<C-o> ......... insert normal keystroke in insert mode
मैंने चुना है Ctrl- lक्योंकि lआपकी उंगलियों के नीचे है। Ctrl- kपहले से ही द्वि आलेख सम्मिलित करने के लिए प्रयोग किया जाता है।
मैं :h i_Ctrlकुछ मुफ्त कीबाइंडिंग के माध्यम से खोज रहा हूं , और यह वास्तव में बड़ी समस्या है जब यह क्रियाओं में प्रदर्शन करने के लिए नए शॉर्टकट बनाने की बात आती है।
कर्सर स्थिति के बाद से लाइनों की एक श्रृंखला को हटाने 3Dके लिए, पंक्ति के अंत तक कर्सर से हट जाएगा, साथ ही साथ अगली दो पंक्तियाँ पूरी तरह से (यानी, कर्सर स्थिति के बाद 3 पंक्तियों को हटा देती है)।
निम्न पाठ के लिए उदाहरण (कर्सर का प्रतिनिधित्व |),
If there's a cursor |in the line
here
we
go
कमांड का उपयोग 3Dआउटपुट करेगा:
If there's a cursor
go