vi में लाइन हटाएं


168

मैं VI में एक पंक्ति कैसे हटा सकता हूं?

यहाँ मैं अभी क्या कर रहा हूँ:

  1. खोलें टर्मिनल alt+ ctrl+t
  2. vi a.txt
  3. मैं अपने कर्सर को उस पंक्ति पर ले जाता हूं जिसे मैं हटाने के लिए चाहता हूं, फिर vi संपादक में लाइन को हटाने के लिए किस कुंजी-संयोजन का उपयोग करना चाहिए ?

5
मेरा सुझाव है कि आप वॉशिंगटन पढ़ें। ईडीयू / कॉमपिंग / यूनिक्स/vi.html यह आपको एक बुनियादी उपयोग अवलोकन प्रदान करता है। यहाँ एक धोखा दे रहा है : tuxfiles.org/linuxhelp/vimcheat.html यह हमेशा एक अच्छा विचार है कि तुच्छ प्रश्न पूछने से पहले उस तरह के पृष्ठों पर एक नज़र डालें ...
पोलमन

2
वहाँ भी एक लाइन को हटाने और डालने के लिए S है
बेन क्रीसी

जवाबों:


289

दबाने ddसे वह लाइन हट जाएगी (वास्तव में वह इसे काट देगा)। तो आप इसके माध्यम से पेस्ट कर सकते हैं p


22

जैसा कि अन्य लोगों ने कहा, ddयदि आप सामान्य मोड में हैं , तो यह ESCसुनिश्चित करना कि आप सामान्य मोड (प्रेस ) में हैं, लेकिन डिफ़ॉल्ट रूप से आप होंगे। आपने पाया होगा कि vi कार्य नहीं करता है क्योंकि आप एक संपादक से अभिनय की उम्मीद करेंगे। यह बहुत ही अनोखा है, और उन अनूठी विशेषताओं के साथ काम करने के लिए यह बहुत शक्तिशाली और तेज है। यदि आप और अधिक सीखना चाहते हैं, तो आप vimtutorकमांड लाइन पर चल सकते हैं , और आपको इसका उपयोग करने के मूल तरीकों पर एक त्वरित (शायद एक घंटे पढ़ने / प्रयोग करने का तरीका) ट्यूटोरियल मिलेगा।

अब, आप एक अधिक परिचित इंटरफ़ेस के साथ एक संपादक का उपयोग कर सकते हैं। ज्यादातर सिस्टम है nano। आप nano a.txtअपनी फ़ाइल खोलने के लिए टाइप कर सकते हैं nano। तुम भी एक कदम आगे जा सकते हैं - कोई कारण नहीं है कि आपको टर्मिनल-आधारित संपादक का उपयोग करना है। चूंकि आपने ( Ctrl+ Alt++ T) का उपयोग करने का उल्लेख किया है और यह उबंटू और कुछ अन्य सूक्ति वितरणों में डिफ़ॉल्ट शॉर्टकट है, इसलिए यदि आपने geditइंस्टॉल नहीं किया है तो मुझे आश्चर्य होगा । कमांड लाइन पर, कोशिश करें gedit a.txtऔर आपको एक आलेखीय संपादक मिलेगा।


कुछ लोगों को इसकी जरूरत होती है। यदि आप नियमित रूप से पाठ फ़ाइलों को संपादित करते हैं, तो यह विम सीखने के समय के लायक है। यदि आप नहीं करते हैं, और आप कुछ काम पाने के लिए बस कुछ निर्देशों का पालन करने की कोशिश कर रहे हैं, तो यह संभवत: इसके लायक नहीं है जब तक कि आप बस अलग-अलग सॉफ़्टवेयर की कोशिश करने और नई चीजें सीखने में रुचि नहीं लेते।
शॉन जे। गोफ

मैंने कमांड लाइन पर विम्मुटोर को निकाल दिया, और इसने एक तिपाई के साथ खोल दिया। फ़ाइल। क्या मैंने कोई गलती की है?
IM-JM

@ im-jm मुझे नहीं लगता कि आपने कोई गलती की है, लेकिन आपके सिस्टम में असामान्य कॉन्फ़िगरेशन हो सकता है। यह एक दस्तावेज खोलना चाहिए जो "वेलकम टू द वीआईएम ट्यूटर" में शुरू होता है। यदि आप उस के माध्यम से काम करने में रुचि रखते हैं, तो आपको एक और प्रश्न पोस्ट करना चाहिए।
शॉन जे। गोफ

12

कर्सर के नीचे की रेखा को हटाने के लिए, का उपयोग करें dd

डिलीट कमांड सभी सामान्य पोजिशनिव मॉडिफायर को स्वीकार करता है, इसलिए यदि आप जिस लाइन को हटाना चाहते हैं, उसके नीचे लाइन की शुरुआत में है, तो आप बस dkडिलीट मोड में जा सकते हैं और एक लाइन को ऊपर ले जा सकते हैं, जो भी कर्सर पास हुआ सब कुछ डिलीट कर देगा।

आप पुनरावृत्ति को भी निर्दिष्ट कर सकते हैं, इसलिए 5ddकर्सर को पांच बार लाइन को हटा देगा, प्रभावी ढंग से वर्तमान को हटा देगा और चार लाइनों का पालन करेगा।


8
या d5d। मुझे पता नहीं क्यों, लेकिन मुझे यह पसंद है। (मजेदार तथ्य: एन × एम लाइनों NdMdको हटाता है )
रैंडम 832

7

Esc dd उस लाइन पर जाने के बाद जिसे आप हटाना चाहते हैं


2
भागने के लिए आवश्यक नहीं है, यदि आप उस पंक्ति पर जा सकते हैं जिसे आप हटाना चाहते हैं।
एंथन

3
अगर आपको सही लाइन पर जाने के लिए इन्सर्ट मोड में एरो कीज़ का उपयोग करना है तो एस्केप की आवश्यकता है।
अलेक्जेंडर

1

दृश्य मोड में,

शिफ्ट + वी, लाइनों का चयन करें, फिर डी

ctrl + v, कॉलम चुनें, फिर d

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