Vi संपादक में चयनित पाठ को कैसे हटाएं


116

मैं PuTTY और vi संपादक का उपयोग कर रहा हूं। यदि मैं अपने माउस का उपयोग करते हुए पांच पंक्तियों का चयन करता हूं और मैं उन पंक्तियों को हटाना चाहता हूं, तो मैं यह कैसे कर सकता हूं?

इसके अलावा, मैं अपने कीबोर्ड का उपयोग करके लाइनों का चयन कैसे कर सकता हूं जैसा कि मैं विंडोज में कर सकता हूं जहां मैं Shiftटेक्स्ट को चुनने के लिए तीर दबाता हूं और स्थानांतरित करता हूं ? मैं vi में ऐसा कैसे कर सकता हूं?


1
मेरे पास मुद्रित मैन सूची है, लेकिन चयनित पाठ को हटाने का तरीका नहीं खोज सका

x कर्सर के दाईं ओर वर्ण हटाएं X कर्सर के बाईं ओर वर्ण हटाएं D लाइन के अंत में हटाएं dd करेंट लाइन हटाएं: d lagmonster.org/docs/vi.html से वर्तमान लाइन हटाएं। आशा है कि थोड़ी मदद करता है
Mawg मोनिका

1
सुपरसमर पर VIM सवाल? जबरदस्त हंसी!
पास्कल थिवेंट

1
@ पास्कल: हम्म, हाँ, तुम सही हो। अच्छी तरह से स्वरूपित जवाब। ओह, और उसका प्रश्न VIM के बारे में नहीं था, बल्कि VI के बारे में था। ;)
मार्सेल कोर्पल

जवाबों:


215

मैं PuTTY और vi संपादक का उपयोग कर रहा हूं। यदि मैं अपने माउस का उपयोग करते हुए पांच पंक्तियों का चयन करता हूं और मैं उन पंक्तियों को हटाना चाहता हूं, तो मैं यह कैसे कर सकता हूं?

माउस को भूल जाओ। 5 लाइनों को हटाने के लिए, या तो:

  • पहली पंक्ति पर जाएं और टाइप करें d5d( ddएक पंक्ति को d5dहटाता है , 5 लाइनें हटाता है) ~ या ~
  • लिनेविज़ चयन मोडShift-v दर्ज करने के लिए टाइप करें , फिर कर्सर को नीचे ले जाएँ j(हाँ, उपयोग करें h,)j , kऔर lले करने के लिए छोड़ दिया , नीचे , ऊपर , सही क्रमशः, इतना तीर का उपयोग करके तुलना में अधिक कुशल है) और प्रकार dचयन हटाने के लिए।

इसके अलावा, मैं अपने कीबोर्ड का उपयोग करके लाइनों का चयन कैसे कर सकता हूं जैसा कि मैं विंडोज में कर सकता हूं जहां मैं Shiftटेक्स्ट को चुनने के लिए तीर दबाता हूं और स्थानांतरित करता हूं ? मैं vi में ऐसा कैसे कर सकता हूं?

जैसा कि मैंने कहा, या तो Shift-vलाइनव्यू सिलेक्शन मोड vमें प्रवेश करने के लिए या कैरेक्टर वाइज सिलेक्शन मोड में जाने के लिए या ब्लॉकवाइज सिलेक्शन मोड में प्रवेश करने के लिए उपयोग Ctrl-vकरें। फिर साथ ले जाने के h, j, kऔर l

मेरा सुझाव है कि विम vimtutorडिमोर तरीके से विम के साथ अधिक परिचित होने के लिए विम ट्यूटर (रन ) के साथ कुछ समय बिताना ।

यह सभी देखें


1
दरअसल, अगर आपके टर्मिनल इसे सपोर्ट करते हैं, तो विम को शानदार माउस सपोर्ट है। उदाहरण के लिए gpm, कंसोल में डेमॉन का उपयोग करना , या रनिंग xtermया konsoleचित्रमय वातावरण में, आप विम को बता सकते हैं set mouse=a(या इसे अपने .vimrc में जोड़ सकते हैं) और माउस का उपयोग चयन के लिए किया जा सकता है, विभाजन का आकार बदल सकता है, आदि
बेन वोइगट

@ ठीक कह रहे हैं, मैं माउस का उपयोग बिल्कुल नहीं करता, लेकिन इसका मतलब यह नहीं है कि वीआईएम इससे (कुछ परिस्थितियों में) निपट नहीं सकता। जब आप टाइप कर रहे थे तब मैं वास्तव में अपने उत्तर से इस गलत हिस्से को हटा रहा था।
पास्कल थिवेंट

इसके अलावा, यह बताना मुश्किल है कि आपका V कब कैपिटल है या नहीं ... मैं लाइन-मोड चयन के लिए [Shift] + [V] कहने का सुझाव दूंगा।
बेन वोइगट

मैं जानता हूँ कि यह एक समय हो गया है, लेकिन क्यों का उपयोग कर h, j, kऔर lहो सकता है बहुत तीर का उपयोग करके तुलना में अधिक कुशल? मैं तीर का उपयोग करके कोई समस्या नहीं देखता हूं और अंतिम परिणाम समान दिखता है। इसके अलावा, तीर पहली बार इस उद्देश्य के लिए डिज़ाइन किए गए थे, इसलिए उनकी व्यवस्था बहुत अधिक सहज (कम से कम मेरे लिए) महसूस करती है
फ्रेडरिक पंटुज़ा

1
@FredericoPantuzza यह उस बिंदु पर हाथ आंदोलन की बात है - लक्ष्य अपनी उंगलियों को हर समय होम रो कीज़ पर रखना है। अपने दाहिने हाथ को लेने और समय के साथ उन्हें जोड़ने के लिए इसे तीर कुंजियों पर स्लाइड करना है।
एंड्रयू एफएपी

59

इसे vi तरीके से करें।

5 लाइनें हटाने के लिए: 5dd(5 हटाएं)

चयन करने के लिए (वास्तव में उन्हें क्लिपबोर्ड पर कॉपी करें) आप टाइप करें: 10yy

यह समझ पाना थोड़ा कठिन है, लेकिन उन दूरस्थ टर्मिनलों का उपयोग करते समय सीखना बहुत आसान है

कुछ संपादकों के लिए सीखने की अवस्था से अवगत रहें:


(स्रोत: कैलिवर unix.rulez.org पर )


31

यदि आप लाइन नंबर का उपयोग करके हटाना चाहते हैं, तो आप उपयोग कर सकते हैं:

:startingline, last line d

उदाहरण:

:7,20 d

यह उदाहरण लाइन 7 से 20 को हटा देगा।


मुझे इस टिप के बारे में अभी तक जानकारी नहीं है। यह एक सम्मोहन की तरह काम करता है! धन्यवाद!
तुंग

13

अपने माउस के साथ हाइलाइटिंग केवल टर्मिनल पर वर्णों को हाइलाइट करता है। VI वास्तव में यह जानकारी प्राप्त नहीं करता है, इसलिए आपको अलग तरह से हाइलाइट करना होगा।

एक चयन मोड में प्रवेश करने के लिए 'v' दबाएं, और उस चारों ओर जाने के लिए तीर कुंजियों का उपयोग करें। हटाने के लिए, x दबाएँ। एक समय में लाइनों का चयन करने के लिए, शिफ्ट + वी दबाएं। ब्लॉक चुनने के लिए, ctrl + v आज़माएं। यह आपके कोड के सामने बहुत सारी टिप्पणी लाइनें डालने के लिए अच्छा है :)।

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

हैप्पी हैकिंग!


6

PuTTY जैसे टर्मिनल का उपयोग करते समय , आमतौर पर माउस क्लिक और चयन रिमोट सिस्टम में प्रेषित नहीं होते हैं । इसलिए, vi का कोई विचार नहीं है कि आपने कुछ पाठ का चयन किया है। (इसके अपवाद हैं, लेकिन सामान्य रूप से माउस क्रियाओं को प्रेषित नहीं किया जाता है।)

Vi में कई लाइनों 5ddको हटाने के लिए, 5 लाइनों को हटाने के लिए कुछ का उपयोग करें ।

यदि आप विम का उपयोग नहीं कर रहे हैं , तो मैं दृढ़ता से ऐसा करने की सलाह दूंगा। आप दृश्य चयन का उपयोग कर सकते हैं, जहां आप Vएक दृश्य ब्लॉक शुरू करने के लिए दबाते हैं, कर्सर को दूसरे छोर पर ले जाते हैं, और dहटाने के लिए दबाएं (या किसी अन्य संपादन कमांड, जैसे कि yकॉपी करें)।


1
@ जस्टिन एल <kbd>a</kbd>. : का उपयोग करें ।
ग्रेग हेविगिल

1
धन्यवाद! : क्या इनमें से कोई भी कहीं आसपास छिपा है?
जस्टिन एल।

1
पुट्टी माउस कमांड को प्रसारित करने में सक्षम है; पहला वाक्य पुराना हो सकता है।
कॉंगसबोंगस

3

यदि आप किसी फ़ाइल को अपने वर्तमान लाइन नंबर से सभी लाइनों को हटाना चाहते हैं dG, तो इसका उपयोग करें , यह (shift g)फ़ाइल के सभी लाइनों को हटा देगा

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