टर्मिनेटर में सीटीटी-बैकस्पेस को मैप करना


8

मैंने हाल ही में विम का उपयोग शुरू किया है। पिछले संपादकों से, मुझे दबाकर एक पूरे शब्द को हटाने के लिए उपयोग किया जाता है Ctrl- Backspace। प्रलेखन देखने के बाद मैंने पाया कि यह दबाकर किया गया था Ctrl- wविम में। समस्या यह है कि दबाने के लिए अभ्यस्त होने के बाद Ctrl- w, मैंने हर बार टैब बंद कर दिया है और हर बार मैं एक शब्द को याद करता हूं (यह प्रश्न लिखते समय मैंने इस टैब को 5 बार बंद किया है)। इसलिए मैंने जांच की कि विम में नक्शे कैसे बनाए जाएं और यह कोशिश की:

:imap <C-BS> <C-w>

दुर्भाग्य से, यह काम नहीं किया। थोड़े शोध के बाद मैंने पाया कि टर्मिनल Ctrl- Backspaceऔर के बीच अंतर नहीं करता है Backspace। मैंने इस मुद्दे को ठीक करने के लिए कुछ हैक और पैच देखे, लेकिन मैं उन्हें टर्मिनेटर (जो एमुलेटर मैं उपयोग करना चाहता हूं) पर काम करने के लिए नहीं मिला।

क्या मैप का कोई तरीका है Ctrl- Backspaceटर्मिनेटर का उपयोग करते समय विम में?


2
विम नरक में आपका स्वागत है।
romainl

2
मुझे यह तथ्य पसंद है कि यह नरक काफी उत्पादक है और पैच के साथ सुधार किया जा सकता है।
इंगो करकट

BTW, मैं इस तरह के प्रश्नों को उम्मीद के साथ एक मामला बनाने में सक्षम होने के लिए इकट्ठा कर रहा हूं कि इस विशेष समस्या को Vim 8.0 में निपटाया जाता है। मैं वास्तव में अधिक से अधिक समान मैपिंग उम्मीदवारों को भी चाहता हूं।
इंगो करकट

इस समस्या को वास्तव में vim (AFAIK) में ठीक नहीं किया जा सकता है। यह टर्मिनल vim पर निर्भर करता है। vte (Gnone Terminal, Mate Terminal, Guake, आदि) का उपयोग करने वाले उपयोगकर्ताओं की एक विस्तृत विविधता के लिए। इस समस्या ने कुछ हालिया ध्यान आकर्षित किया है और जल्द ही इसे ठीक किया जा सकता है। इस सूक्ति बग को देखें: bugzilla.gnome.org/show_bug.cgi?id=420039
trusktr

@IngoKarkat उपरोक्त टिप्पणी देखें। ^
trusktr

जवाबों:


8

जिस तरह से कीबोर्ड इनपुट आंतरिक रूप से संभाला जाता है, यह दुर्भाग्य से आज आम तौर पर संभव नहीं है। जैसे कुछ कुंजी संयोजन, Ctrl+ गैर-वर्णमाला मैप किया जा सकता है, और Ctrl+ पत्र बनाम Ctrl+ Shift+ पत्र पहचाना नहीं जा सकता। (जब तक कि आपका टर्मिनल इसके लिए एक अलग टर्मकैप कोड न भेज दे, जो सबसे अधिक नहीं है।) सम्मिलित या कमांड-लाइन मोड में, कुंजी संयोजन टाइप करने का प्रयास करें। यदि कुछ नहीं होता है / डाला जाता है, तो आप उस कुंजी संयोजन का उपयोग नहीं कर सकते। यह भी <Tab>/ <C-I>, <CR>/ <C-M>/ <Esc>/ <C-[>आदि पर लागू होता है (केवल अपवाद है <BS>/ <C-H>।) यह एक ज्ञात दर्द बिंदु है, और vim_dev और #vim IRC चैनल पर विभिन्न चर्चाओं का विषय है।

कुछ लोग (सबसे महत्वपूर्ण पॉल लियोनर्ड इवांस) इसे ठीक करना चाहते हैं (यहां तक ​​कि टर्मिनलों में कंसोल विम के लिए भी इसका समर्थन करते हैं), और विभिन्न प्रस्तावों, सी.पी. http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

लेकिन आज तक, कोई भी पैच या स्वयंसेवक अभी तक आगे नहीं आया है, हालांकि कई लोगों ने भविष्य के विम 8 रिलीज में यह करने की इच्छा व्यक्त की है।


त्वरित उत्तर के लिए धन्यवाद। मुझे लगता है कि मुझे ब्राउज़र के लिए vt और ctrl-backspace के लिए ctrl-w का उपयोग करने की आदत डालनी होगी।
user1026044

Ctrl-W के बारे में अच्छी बात यह है कि यह बाश आदि में भी काम करता है
Ingo Karkat

हाँ मुझे पता हे। लेकिन आपको अभी भी बाकी सब चीज़ों के लिए ctrl-backspace का उपयोग करना है, और यह तथ्य कि ctrl-w टैब और विंडो को हर जगह बंद करने के लिए मानक प्रतीत होता है, यह कष्टप्रद बनाता है। मैं शायद थोड़ी देर के बाद इसकी आदत हो जाएगी।
user1026044

लेकिन क्या इसे विश कोड कोड में शुद्ध रूप से हल किया जा सकता है? Vim कोड आधार में कोई भी कोड बैकस्पेस और ctrl + बैकस्पेस के बीच अंतर करता है यदि टर्मिनल जो इसे चला रहा है, उसी कुंजी संयोजन के लिए उसी सटीक इनपुट को भेजता है? ऐसा लगता है कि टर्मिनल में तय किया जाना चाहिए कि विम में चल रहा है, न कि कुछ है। उदाहरण के लिए, गुके ^?बैकस्पेस और सीटीटीएल + बैकस्पेस दोनों के लिए भेजता है , जो उन्हें (AFAIK) अप्रभेद्य बनाता है। दूसरी ओर, xterm, ^Hबैकस्पेस और ^?ctrl + बैकस्पेस के लिए भेजता है , जिससे उन्हें अलग पहचान मिलती है।
त्रिकूट

लेकिन दुर्भाग्य से, xterm में, backspace ( ^H) ctrl + h ( ^H) से अप्रभेद्य है । शायद हम तीनों को अलग करने में सक्षम होने के लिए एक नया एस्केप अनुक्रम बना सकते हैं? मुझे नहीं पता कि यह कितना आसान है, लेकिन ऐसा लगता है कि ऐसा करना सुरक्षित होगा क्योंकि चीजों की वर्तमान स्थिति के साथ (कुछ टर्मिनलों का उपयोग ^?बैकस्पेस, अन्य ^H, और इसके विपरीत) मैं बहुत सारे टर्मिनल एप्लिकेशन की कल्पना नहीं कर सकता (यदि कोई हो) ctrl + backspace परिदृश्य पर विचार करें (यह टर्मिनलों की विविधता के कारण पूरी तरह से अनिश्चितकालीन होगा) ...
trusktr
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.