ध्यान दें कि इस टर्मिनल और डिफ़ॉल्ट 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 पोस्ट से इस समाधान के लिए विचार मिला ।