"इनपुट आर्क" फ़ाइल में कुंजी बाइंडिंग के लिए कीनेम का सामान्य प्रारूप क्या है?


17

मैं समझता हूं कि inputrcफ़ाइल में कुंजी बाइंडिंग के लिए प्रारूप है:

keyname: function-name or macro

Keyname के लिए, मैंने चीजों को देखा जैसे:

"\e[B"
"\e[1~"
"\e[5D"
"\M-l"
"\C-[OD"
"\e\e[D"

इन कुंजीनामों का अर्थ क्या है, और कीनेम के लिए सामान्य प्रारूप क्या है? कृपया डॉक्स के लिए एक लिंक साझा करें।


2
आपके डॉक्स के लिए, मैं आपको readline(3)मैनपेज या रीडलाइन उपयोगकर्ता पुस्तिका देखने की सलाह दूंगा
jw013

1
आप के माध्यम से मुख्य विन्यास (रीडलाइन - inputrc) की जाँच करें: $ bind -p
vigo

जवाबों:


12

कीबाइंडिंग निम्न रूपों में से एक का उपयोग करके किया जा सकता है:

  1. कीनेम: कमांड_नाम
  2. "कीस्ट्रोक_ परिणाम": कमांड_नाम

पहले रूप में आप एक ही कुंजी के लिए नाम लिख सकते हैं। उदाहरण के लिए, कंट्रोल-यू को नियंत्रण-यू के रूप में लिखा जाएगा। यह एकल कुंजियों के लिए बाइंडिंग कमांड के लिए उपयोगी है।

दूसरे रूप में, आप एक स्ट्रिंग निर्दिष्ट करते हैं जो कुंजियों के अनुक्रम का वर्णन करती है जो कमांड के लिए बाध्य होगी। एक उदाहरण के रूप में आपने जो दिया, वह है इमैक-टायल बैकस्लैश एस्केप सीक्वेंस विशेष कुंजियों का प्रतिनिधित्व करने के लिए

\C- नियंत्रण
\M- मेटा
\e- बच

आप किसी अन्य बैकस्लैश का उपयोग करके एक बैकस्लैश निर्दिष्ट कर सकते हैं - \\। इसी तरह 'और "भी भाग सकते हैं - \'और\"

अपडेट करें

जब आप विशेष कुंजी दबाते हैं तो आपके वर्ण द्वारा इसकी व्याख्या की जाती है। आप अपने मुख्य बंधन में नियमित रूप से अक्षर और संख्याओं को बाँधना नहीं चाहते हैं क्योंकि आप नियमित रूप से उनका उपयोग कर सकते हैं और जब आप गलती से आपके ~/.inputrcया /etc/inputrcफ़ाइल में मैप किए गए संयोजन को हिट कर सकते हैं तो समस्याएँ पैदा कर सकते हैं ।

[1~ is what is interpreted by your terminal when you press your HOME button. 

अधिक जानने के लिए, बस readअपने टर्मिनल प्रॉम्प्ट पर टाइप करें और सभी प्रकार की विशेष कुंजियों को दबाएं जैसे फंक्शन कीज़, होम, END, एरो कीज़ आदि और देखें कि क्या प्रदर्शित होता है।

यहाँ एक छोटा संदर्भ है जो मैंने पाया है कि कुछ बुनियादी समझ प्रदान कर सकता है। सौभाग्य! :)


2
क्या करता है \e[1~, \M-lऔर क्या \C-[ODमतलब है? \e, \M, और \Cभागों स्पष्ट हैं। बाकी के बारे में कैसे? उदाहरण के लिए: [1~- क्या मुझे Shift+ {+ 1+ Shift+ दबाना चाहिए `?
मीशा मोरोस्को

मैंने आपके लिए जवाब अपडेट कर दिया है। उम्मीद है की वो मदद करदे!
जयपाल सिंह

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