Vi में सम्मिलित मोड में बैकस्पेस वर्ण मिटाता नहीं है


69

मैं vi के लिए नया हूं, वास्तव में मैंने आज से vi सीखना शुरू कर दिया है और मैं बैकस्पेस कुंजी के व्यवहार में फंस गया हूं।

वास्तव में जब मैंने पहली बार अपनी उबंटू 12.04 पर अपने उबंटू 12.04 पर vi निकाल दिया, तो सामान्य रूप से काम कर रहा था, लेकिन इसके बाद यह अजीब व्यवहार करने लगा है। जब भी मैं इन्सर्ट मोड में बैकस्पेस दबाता हूँ तो यह पात्र को मिटाने के बजाय केवल एक स्थान को बाईं ओर ले जाता है।

मैं डिफ़ॉल्ट बैकस्पेस कार्यक्षमता कैसे प्राप्त कर सकता हूं? कृपया ध्यान दें कि मैं विम स्थापित करना या nocompatibilty सेट नहीं करना चाहता।

जवाबों:


39

Vi के लिए यह सही व्यवहार है, और यह चरित्र को मिटा देता है, यह सिर्फ इसे vim की तरह एक खाली के साथ प्रतिस्थापित करके नहीं दिखाता है। यह स्पष्ट होगा जब आप मिटाए गए चरित्र को किसी अन्य वर्ण के साथ अधिलेखित करते हैं, या कमांड मोड पर वापस जाते हैं।

उदाहरण के लिए एक खाली लाइन पर कमांड मोड के साथ शुरू, निम्नलिखित लाइन में परिणाम होगा fo:

ifooBackspaceEsc

इससे पहले कि आप Escकुंजी दबाते हैं, रेखा पढ़ेगी foo, लेकिन अंतिम oको "मिटा-स्तंभ" के रूप में टैग किया गया है। Http://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi.html#tag_20_152_13_88 (मुख्य रूप से बिंदु 4 उस शीर्षक के अंतर्गत देखें , और इसके नियंत्रण> -H के बारे में पढ़ने के लिए थोड़ा और नीचे ब्राउज़ करें) देखें


72

यहाँ सबसे सरल उपाय है।
एक टर्मिनल खोलें, होम डायरेक्टरी पर जाएं और टाइप करें

vi .vimrc

एक नई फ़ाइल खोलें अब इन पंक्तियों को फ़ाइल में जोड़ें और बचत करके बाहर निकलें

$ set nocompatible
$ set backspace=2

9
ओपी ने उल्लेख किया कि वे उपयोग नहीं करना चाहते हैंnocompatibility
किरी

1
कोई संगतता की कोई जरूरत यू भी सिर्फ दूसरी पंक्ति addig द्वारा यह कर सकते हैं नहीं है
आदित्य Chakilam

1
दूसरी पंक्ति केवल मेरे लिए काम करती है अगर मैं पहली पंक्ति भी जोड़ दूं।
djjeck

एक खाली .vimrc से शुरू किया और सोचा कि क्यों बैकस्पेस iTerm2 में मैक पर काम नहीं करता है। आपका बहुत बहुत धन्यवाद!
इगोर मैलिक

@ minerz029 जोड़ें अभी तक यह जवाब ज्यादातर लोगों के लिए यहाँ हैं, क्योंकि पृष्ठ शीर्षक में ऐसी कोई योग्यता नहीं थी।
मुहाद

22

आपको कर्सर को ले जाकर "इन्सर्ट" मोड में बदलना होगा i। पात्रों को सीधे हटाने के अन्य तरीके हैं। आप एक powerpoint है कि मैं का उपयोग करें जब छठी पर एक कक्षा को पढ़ा डाउनलोड कर सकते हैं यहाँ

ऐसा लगता है कि आप "कमांड" मोड में हैं। अपना कर्सर ले जाने के लिए:
H= लेफ्ट, J= अप, K= डाउन, L= राइट

एक बार जब आप अपने कर्सर तैनात आप कर सकते हैं हटाना को टेक्स्ट:
x हटाता चरित्र के तहत कर्सर
X चरित्र को हटाता से पहले कर्सर
dwकर्सर से हटाता है अगले शब्द पर
dd हटाता लाइन कर्सर पर है।

पाठ दर्ज करने के लिए , आप पाठ प्रविष्टि मोड में से एक का उपयोग कर सकते हैं।
aजोड़ता है के लिए पाठ सही कर्सर की
Aजोड़ता है के लिए पाठ अंत वर्तमान पंक्ति के
iजोड़ता है के लिए पाठ बाएँ कर्सर की
Iजोड़ता है करने के लिए परीक्षण beginin वर्तमान पंक्ति की
oएक नई लाइन खोलता नीचे वर्तमान पंक्ति और पाठ प्रविष्टि में आप स्थानों मोड
Oखोलता है एक नई लाइन वर्तमान लाइन के ऊपर है और आपको पाठ प्रविष्टि मोड में रखती है

पाठ प्रविष्टि मोड से बाहर निकलने के लिए, और कमांड मोड पर वापस लौटें, उपयोग करें Esc

करने के लिए वापस लाएं परिवर्तन: (एक छात्र पसंदीदा)
uपूर्ववत करें पिछले आदेश में प्रवेश किया
Uपूर्ववत सभी परिवर्तनों ** वर्तमान लाइन के लिए **

बचाने के लिए / बाहर निकलें: :wलिखता है (बचाता है) फ़ाइल और खुला रहता है
:wqलिखते हैं (बचाता है) फ़ाइल और बाहर निकालता छठी
:qइस्तीफा (एक्ज़िट) यदि आप कोई परिवर्तन करने के बाद
:q! इस्तीफा (एक्ज़िट) को बिना सहेजे परिवर्तन
ZZलिखते हैं (बचाता है) फ़ाइल और बाहर निकालता छठी (समान :wq)


11
ओपी ने उल्लेख किया कि रहस्यमय व्यवहार इन्सर्ट मोड में होता है । तो यह पूछे गए सवाल का जवाब नहीं है।
लार्स

दरअसल ओपी इन्सर्ट मोड में नहीं था । प्रश्न संपादित किया गया था।
अर्गसविजन

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

1
समझा जा सकता। मैं मानता हूं कि नॉन-इंसर्ट-मोड की सामान्य प्रतिक्रिया है।
लार्स

Argus, "इनसर्ट मोड" को एक एडिट में प्रश्न शीर्षक में जोड़ा गया था, लेकिन यह शुरुआत से ही सवाल के शरीर में था।
लार्स सिप

13

बैकस्पेस और एरो की फंक्शनलिटी पाने के लिए फुल विम पैकेज इंस्टॉल करें

sudo apt-get update
sudo apt-get install vim

यह अपेक्षित के रूप में काम कर रहा है .. सर्वश्रेष्ठ उत्तर
विक्की

यही सही जवाब है। किसी भी विन्यास फाइल को संपादित करने की आवश्यकता नहीं है, बस vim-runtimeपैकेज स्थापित करें और सब कुछ उसी तरह काम करता है जैसा मैं उपयोग कर रहा हूं। धन्यवाद!
ओली डी-मेट्ज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.