Anonim

vi एक प्रसिद्ध स्क्रीन-उन्मुख टेक्स्ट एडिटर है जो यूनिक्स के शुरुआती दिनों में वापस जाता है। इसकी सबसे प्रभावशाली विशेषता यह है कि यह दो अलग-अलग मोड में काम कर सकता है।

इन्सर्ट मोड में, टेक्स्ट फाइल का हिस्सा बन जाता है। सामान्य मोड में, कीस्ट्रोक्स को प्रत्यक्ष कमांड के रूप में समझा जाता है। इसलिए, फ़ाइल को संपादित करने के लिए आवश्यक कार्य की मात्रा को कम करने के लिए विभिन्न कीबोर्ड कमांड का उपयोग किया जाता है।

लेकिन अगर कमांड इतने अलग हैं, तो क्या कीस्ट्रोके कमांड का उपयोग करके लाइनों को हटाना या उन्हें संपादित करना वास्तव में आसान है? - चलो पता करते हैं।

एक लाइन या ब्लॉक काटना

त्वरित सम्पक

  • एक लाइन या ब्लॉक काटना
        • अपने कर्सर को उस टेक्स्ट की लाइन के सामने रखें, जिसे आप हटाना चाहते हैं
        • V दबाएं और चरित्र दृश्य चयन शुरू करें
        • यदि आप संपूर्ण पंक्तियों का चयन करना चाहते हैं तो V दबाएँ
        • यदि आप किसी ब्लॉक का चयन करना चाहते हैं तो Ctrl + v या Ctrl + q दबाएँ
        • टेक्स्ट की लाइन के अंत में कर्सर रखें
        • काटने के लिए d दबाएं
  • एक पंक्ति में संपादन
  • एकाधिक लाइनों को हटाना
  • सामान्य मोड में वर्ण, शब्द और रेखाओं का उपयोग करना
    • dd
    • एक्स / एक्स
    • DW
  • एक अंतिम विचार
  1. अपने कर्सर को उस टेक्स्ट की लाइन के सामने रखें, जिसे आप हटाना चाहते हैं

  2. V दबाएं और चरित्र दृश्य चयन शुरू करें

  3. यदि आप संपूर्ण पंक्तियों का चयन करना चाहते हैं तो V दबाएँ

  4. यदि आप किसी ब्लॉक का चयन करना चाहते हैं तो Ctrl + v या Ctrl + q दबाएँ

  5. टेक्स्ट की लाइन के अंत में कर्सर रखें

  6. काटने के लिए d दबाएं

यदि आप अब उस रेखा को कहीं और चिपकाना चाहते हैं, तो बस कर्सर को नए स्थान पर ले जाएँ और p दबाएं। ध्यान दें कि पी दबाने से कर्सर की स्थिति के बाद लाइन या ब्लॉक पेस्ट हो जाएगा। यदि आप कर्सर की स्थिति से पहले पेस्ट करना चाहते हैं, तो आपको पी दबाना होगा।

एक पंक्ति में संपादन

यदि आप चरण 6 में c दबाते हैं, तो आप चयनित पाठ को भी बदल सकते हैं। दबाने पर d कट जाएगा, y को दबाने से या कॉपी होगी, और c आवेषण मोड को खोलेगा जिसमें आप नया पाठ जोड़ सकते हैं। इससे आपको पहले उन्हें काटने से परेशान हुए बिना पूरी लाइन या ब्लॉक को बदलने में मदद मिल सकती है।

एकाधिक लाइनों को हटाना

यदि आप vi में एक से अधिक लाइन हटाना चाहते हैं तो दो अच्छे विकल्प हैं।

“:%d”

यह कमांड सभी लाइनों को हटा देती है। ':' Vi को कमांड मोड में रखता है। '%' वर्ण इसे 'd' (डिलीट कमांड) को सभी लाइनों पर लागू करने के लिए कहता है।

“:1, $d”

यह अधिक लोकप्रिय विकल्प है। फिर से, ':' एक कमांड का परिचय देता है। '1, $' vi को बताता है कि किस रेखा को लक्षित करना है। इस उदाहरण में, यह रेखा 1 और अंतिम के साथ शुरू होने वाली रेखाएं होंगी। 'd' डिलीट के लिए खड़ा है।

लेकिन क्या यह आदेश पहले वाले से बेहतर बनाता है? - यह एक अनुकूलनीय है। आप बल्क में लाइनों को हटाने के लिए इसका उपयोग कर सकते हैं, लेकिन उनमें से हर एक को हटाने के बिना।

यदि आप “:4, $-2d” जैसी किसी चीज़ का उपयोग करते हैं तो vi तीसरे और दूसरे से अंतिम के बीच की सभी पंक्तियों को हटा देगा। यह पहले तीन अक्षुण्णों को छोड़ता है क्योंकि लाइनें 1 से शुरू होती हैं और 0. नहीं। और, आप पहली पंक्ति को निर्दिष्ट करते हैं जिसे आप हटाना चाहते हैं जो इस उदाहरण में 4 है।

'-2' मूल रूप से यह दर्शाता है कि पिछले एक से शुरू होने वाली रेखाएं और 1 से पीछे की गिनती कितनी हैं।

सामान्य मोड में वर्ण, शब्द और रेखाओं का उपयोग करना

सबसे पहले, आप यह सुनिश्चित करना चाहेंगे कि आपने सामान्य मोड में प्रवेश करने के लिए एस्केप मारा। उसके बाद, आप विशिष्ट जानकारी को हटाने के लिए निम्न vi कमांड का उपयोग कर सकते हैं।

dd

यह कमांड एक पूरी लाइन को हटा देता है। आप कर्सर को लाइन पर कहीं भी रख सकते हैं, चाहे वह किसी शब्द या रिक्त स्थान पर हो। लाइन और उसके कब्जे वाले सभी स्थान मिटा दिए जाएंगे।

एक्स / एक्स

यदि आप एक पंक्ति से सिर्फ एक वर्ण निकालना चाहते हैं तो आप x का उपयोग कर सकते हैं। किसी वर्ण के बाद कर्सर रखें और x दबाएं। यह चरित्र को हटा देगा और इसके कब्जे वाले स्थान को भी। इसका मतलब यह भी है कि इसके निकट के अन्य सभी पात्र एक साथ अंतराल में भरने के लिए आएंगे।

आप किसी पंक्ति में रिक्त स्थान को हटाने के लिए भी x का उपयोग कर सकते हैं। यदि आप किसी पात्र पर मंडराते हैं और आप उससे पहले वाले को निकालना चाहते हैं, तो x के बजाय X दबाएं।

DW

जब आपके कर्सर को किसी शब्द की शुरुआत में तैनात किया जाता है तो dw दबाने से वह शब्द डिलीट हो जाएगा। यह शब्द के कब्जे वाले स्थान को भी हटा देगा। वैकल्पिक रूप से, आप किसी शब्द के कुछ हिस्सों को हटा सकते हैं।

अपने कर्सर को उस हिस्से के बाईं ओर रखें, जिसे आप हटाना चाहते हैं। उन वर्णों और लाइन में उनके कब्जे वाले स्थान को हटाने के लिए dw दबाएँ। ध्यान रखें कि ऐसा करने से आसन्न पात्रों को अंतराल में भरने के लिए एक साथ लाया जाएगा।

एक अंतिम विचार

Vi जैसा रोचक और अनोखा है, एक modal editor के रूप में है, इसकी आदत पड़ने में थोड़ा समय लगता है। मोड के बीच स्विच करने पर बहुत कम प्रतिक्रिया होती है। यह गलती से इनपुट कोड टेक्स्ट को बहुत आसान बना देता है जब आपको एक कमांड देना चाहिए, और इसके विपरीत।

Vi में सभी लाइनों को कैसे हटाएं