सूक्ति-टर्मिनल और विम इन्सर्ट मोड में शब्दों को हटाने के लिए <ctrl> + <backspace> प्राप्त करना


11

ऐसा लगता है कि एक समय में एक शब्द पीछे ctrl+ Wहटा देता है। यह बहुत अच्छा है, लेकिन मैं वास्तव में यह पसंद करूंगा कि यह अधिकांश अन्य ऐप्स की तरह ctrl+ के साथ काम करे backspace

ऐसा करने का सबसे अच्छा तरीका क्या है? मुझे गनोम-टर्मिनल कमांड, कमांड लाइन विम और GUI विम को प्रभावित करने के लिए बदलाव की आवश्यकता होगी।


1
Vim में आप D, B को दबा सकते हैं और यह वही काम करेगा। हालाँकि, मैं भी टर्मिनल में इस सुविधा को याद करता हूं क्योंकि आपको एस्कॉर्ट करना पड़ता है और यह इन्सर्ट मोड में काम करते समय काम नहीं करता है। CTRL + W के लिए बहुत बढ़िया टिप
mchid

जवाबों:


8

ध्यान दें कि इस टर्मिनल और डिफ़ॉल्ट Emacs मोड में काम करेंगे (जो आप उपयोग कर रहे हैं Ctrl+ Wआप के लिए पिछले शब्द हटा देता है)। यह बाश के vi मोड में काम नहीं करेगा और vi / vim को प्रभावित नहीं करेगा। इसलिए, यह केवल एक आंशिक उत्तर है लेकिन सबसे अच्छा इस emacs उपयोगकर्ता की पेशकश कर सकता है।


इस तरह की चीज़ को readlineलाइब्रेरी द्वारा प्रबंधित किया जाता है, जिसके व्यवहार को इसके माध्यम से नियंत्रित किया जा सकता है ~/.inputrc। संपादित करें (या बनाएं, यदि यह मौजूद नहीं है) ~/.inputrcऔर इस पंक्ति को जोड़ें:

"\C-H":"\C-W"

अब, एक नया टर्मिनल खोलें और इसे काम करना चाहिए।

व्याख्या

\C-Hवास्तव में है Control+ BackSpace। आप कुंजी दबा सकते हैं Ctrl+ Vतब, जिस कुंजी के बाद आप हैं। आपको लगता है कि देखेंगे BackSpaceरिटर्न ^H

अब, यह चाहिए बाँध करना संभव हो Control+ BackSpaceबैश समारोह है कि पिछले शब्द (हटाता करने backward-kill-wordया unix-word-ruboutका उपयोग करके) "\C-H": backward-kill-word। हालाँकि, मुझे वह काम नहीं मिल रहा है। यह विभिन्न कुंजियों के साथ पूरी तरह से अच्छी तरह से काम करता है ( "\C-E": backward-kill-wordउदाहरण के लिए, पिछले शब्द को Ctrl+ Eहटाता है) लेकिन किसी कारण से, मुझे इसके साथ काम करने के लिए नहीं मिल सकता है BackSpace

इसलिए, वर्कअराउंड के रूप में, हम बस Ctrl+ Backspaceसे Ctrl+ Wमैप करते हैं, जो पहले से मैप किया गया है backward-kill-word। इसलिए, जब आप Ctrl+ दबाते हैं, तो Backspaceइसका अनुवाद Ctrl+ Wकिया जाएगा, जो बदले में, भेजेगा backward-kill-word। मुझे इस SU पोस्ट से इस समाधान के लिए विचार मिला ।


4

कुछ समय पहले तक, गनोम-टर्मिनल ने समान कोड को Backspaceऔर Ctrl+ पर उत्सर्जित किया था Backspace, इसलिए आप अपने आवेदन में दोनों को अलग नहीं कर सकते।

यह vte-0.42 में तय किया गया था, जो इस शरद ऋतु में जारी किए गए गनोम 3.18 का हिस्सा है।

यदि आप Wily का उपयोग कर रहे हैं, तो आप Gnome3 Staging में अद्यतन पैकेज पा सकते हैं ।


क्या मुझे उस विशाल पीपीए को जोड़े बिना भरोसेमंद रूप से चलाने के लिए मिल सकता है?
सिप्रियन टोमोयाग

भरोसे के साथ मेल खाने वाले libvte 2.90 पैकेज को डाउनलोड, पैचिंग, संकलन और इंस्टॉल किए बिना नहीं। पैच Bugzilla.gnome.org/show_bug.cgi?id=733246 पर है
egmont

3

Alt+ के Backspaceबजाय का उपयोग करें : यह Ctrl+ की तरह काम करता है Backspaceऔर किसी भी विन्यास की आवश्यकता नहीं है।


1

यह मेरी मशीन पर काम करता है। बस सुनिश्चित करें कि आप linuxbrew से मास्टर और nvim से tmux का उपयोग करते हैं और कंट्रोल + बैकस्पेस बाश और विम में भी काम करता है!

(Linuxbrew से भी मार लें)

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