नियंत्रण + एपोस्ट्रोफ को बिन्दी में बिन्दी के माध्यम से कैसे बाँधें


2

बाइंडके के माध्यम से कंट्रोल + एपोस्टोफ को बांधने का तरीका है?
मैंने कोशिश की है:

 bindkey "\C-'"
 bindkey "^'"
 bindkey "\C-\x27"

और यह सब काम नहीं कर रहा है

जवाबों:


3

शायद ऩही। कम से कम अपने टर्मिनल को भी संशोधित किए बिना नहीं।

एक टर्मिनल पर एक शेल चलता है। एक टर्मिनल पर इनपुट की मूल इकाई एक चरित्र है, न कि एक कुंजीपट। जब आप अपने शेल में एक महत्वपूर्ण बाइंडिंग जोड़ते हैं, तो आप वास्तव में एक कैरेक्टर सीक्वेंस को बाइंड कर रहे होते हैं, न कि एक महत्वपूर्ण संयोजन को। कोई Ctrl-apostrophe वर्ण नहीं है।

कभी-कभी एएससीआईआई-आधारित टर्मिनलों के बाद से, चाबियों का एक सेट किया गया है जो एकल चरित्र बनाने के लिए Ctrl के साथ जोड़ा जा सकता है। कुंजी है कि यह ASCII कोड 0x3f के माध्यम से 0x5f के अनुरूप है:? @ A-Z [ \ ] ^ _

जब Ctrl कुंजी को उन वर्णों में से एक के साथ दबाया जाता है, तो मान 0x40 बिट उल्टे के साथ प्रेषित होता है। 0x3f 0x7f ?बन जाता है DEL, और बाकी 0x1f के माध्यम से 0x00 बन जाते हैं। Apostrophe 0x27 है, इसलिए यदि इसे इस नियम से Ctrl कुंजी के साथ जोड़ा गया, तो यह 0x67 हो जाएगा, जो कि है ggजब आप Ctrl-apostrophe टाइप करते हैं तब प्राप्त करना उपयोगी नहीं होगा, इसलिए टर्मिनल ऐसा नहीं करता है।

हालांकि, उन कुंजियों को बांधना संभव है जो उदाहरण के लिए तीर कुंजियों की तरह एकल ASCII वर्णों के अनुरूप नहीं हैं। यह काम करता है क्योंकि उन कुंजियों को टर्मिनल द्वारा एक एस्केप अनुक्रम में अनुवादित किया जाता है - भागने के साथ शुरू होने वाले पात्रों का एक क्रम। ये क्रम उपयोगी क्रियाओं के लिए बाध्य हो सकते हैं। उदाहरण के लिए, ESC [ Aआम तौर पर ऊपर तीर कुंजी है, जो शेल में एक इतिहास-संबंधित कार्रवाई के लिए बाध्य है।

यदि आप पर्याप्त रूप से निर्धारित हो गए हैं, तो आप अपने टर्मिनल को Ctrl-apostrophe के लिए कुछ एस्केप सीक्वेंस को आउटपुट करने के लिए मना सकते हैं, और फिर अपने bindkey कमांड में उस एस्केप सीक्वेंस का उपयोग कर सकते हैं। उन पंक्तियों के साथ जारी रखने के लिए, अपने टर्मिनल के लिए प्रलेखन से परामर्श करें।


2
धन्यवाद। Urxvt में इसे "URxvt.keysym.C-apostrophe: * new keyum *" को $ HOME / .Xresourses
asdfffiii
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.