हटाएं कुंजी iTerm2 पर vim में काम नहीं करती है


16

सबसे पहले, मैंने सम्मिलित मोड पर कुछ चीज़ टाइप की, जैसे

Hello

इस स्तर पर, अगर मैं इन्सर्ट मोड से बाहर नहीं निकला, deleteकाम करता हूँ और अगर मैं चाहूँ तो पूरे शब्द को हटा सकता हूँ।

अगर मैंने इन्सर्ट मोड छोड़ दिया, और इन्सर्ट मोड फिर से खोल दिया, तो इसे Helloहटाया नहीं जा सकता delete। लेकिन सामग्री में नए टाइप किए गए को हटाया जा सकता है।

मैंने अपना .vimrc नाम बदल दिया है, समस्या अभी भी बाहर है।

और मैंने iterm के माध्यम से दूरस्थ सर्वर पर कुछ परीक्षण किया, उसी मुद्दे का सामना नहीं किया।

इस समस्या का कारण क्या हो सकता है? इसे कैसे जोड़ेंगे?


'डिलीट' से आपका मतलब बैकस्पेस है? डालने के मोड में पूरे शब्दों को हटाने के साथ किया जा सकता है Ctrl-W, यह प्रयास करें। अगर वह कुछ नहीं करता है, तो आपके विम के साथ कुछ गड़बड़ है। मैं iTerm 2 का उपयोग करता हूं और मुझे ऐसी समस्याएं कभी नहीं हुईं।
oarfish

हां, मैं शब्दों को हटाने के लिए सामान्य मोड में dwया dw+ का उपयोग कर सकता हूं shift। लेकिन backspaceऔर ctrl+ wदोनों ऊपर बताए गए दूसरी स्थिति में काम नहीं करते हैं।
ज़ेन

लेकिन आप विम के बाहर सामान्य कमांड लाइन पर बैकस्पेस का उपयोग कर सकते हैं? बहुत अजीब।
oarfish

@oarfish, हाँ, मैं कर सकता हूँ, और दूरस्थ सर्वर vim में मुझे ऐसी समस्या नहीं है, यह सब बस अचानक होता है। मैं अभी के लिए सुराग नहीं मिल सकता है।
झेन

आपके पास क्या विम संस्करण है? मेरे पास 7.4.481 vim है, और मैं समस्या को पुन: उत्पन्न नहीं कर सकता।
Jan.h

जवाबों:


16

यह विम की एक विशेषता है, हालांकि IIRC यह डिफ़ॉल्ट रूप से सक्षम नहीं होगा।

backspacevim में एक सेटिंग है, और आप तीन विभिन्न मापदंडों सेट कर सकते हैं: indent, eol, औरstart

यदि आप चलाते हैं :help backspace, तो यह आपको बताएगा:

Influences the working of `<BS>`, `<Del>`, `CTRL-W` and `CTRL-U` in Insert
mode.  This is a list of items, separated by commas.  Each item allows
a way to backspace over something:

value     effect
indent    allow backspacing over autoindent
eol       allow backspacing over line breaks (join lines)
start     allow backspacing over the start of insert; CTRL-W and CTRL-U
          stop once at the start of insert.

वह जो आपके लिए निर्धारित नहीं है start

यदि आप set backspace=indent,eol,startअपने .vimrc में जोड़ते हैं , तो आप सम्मिलित मोड में किसी भी चीज़ पर बैकस्पेस दे पाएंगे।


"फ़ीचर" ... किसी कारण से, मैं इसे ताजा macOS 10.13 पर डिफ़ॉल्ट रूप से सक्षम करके देख रहा हूं, जिसमें वीम नवीनतम का एक काढ़ा स्थापित है। यह समाधान अभी भी समस्या को हल करता है।
टेलर एड्मिस्टन

9

मेरे पास यह भी था, प्राकृतिक पाठ संसाधन डिफ़ॉल्ट मान मेरे लिए गलत थे।

  • मैकबुक प्रो (15 इंच, 2018)
  • 10.14.3 (मोजावे)
  • Iterm2 3.2.7

Preferences > Profiles > Keysडिफ़ॉल्ट प्रीसेट पर जाएं और लोड करें Natural Text Editingऔर उन सभी प्रविष्टियों को हटा दें जिनके बारे में deleteऔर deleteव्यवहार है। उसके बाद यह उम्मीद के मुताबिक काम करता है।


1
समान, सिवाय इसके कि मैंने केवल "Del->" के बारे में प्रविष्टियाँ निकालीं, लेकिन "Sends ^ H" बाइंडिंग को नहीं जोड़ा। फिर इसने उम्मीद के मुताबिक काम किया।
डगवा

@DWW ने पुष्टि की, ^ एच बाइंडिंग अनावश्यक है।
साल्यंगोज

2
सही पोस्ट के रूप में इसे खोजने के लिए गलत पोस्ट में बहुत गहरी खुदाई करना पड़ा, बहुत बहुत धन्यवाद!
RecuencoJones

1
मेरे पास मेरी Tmux और Iterm2 पर लंबे समय से समस्या थी, मुझे कभी भी कोई समाधान नहीं मिला जब तक कि मुझे आपका पोस्ट यहां नहीं मिला।
1234

1
हाँ! यह इटर्मा कॉन्फ़िगरेशन के बारे में है, न कि खुद को।
रोड्रीक्रोक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.