.Inputrc में नियंत्रण वर्णों को समझना


22

एक दूरस्थ मशीन में मेरा लिनक्स खाता निम्नलिखित पूर्व-परिभाषित के साथ आता है .inputrc

"\e[1~": beginning-of-line
"\e[4~": end-of-line
\e[5~”: history-search-backward
\e[6~”: history-search-forward
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

set completion-ignore-case on
set bell-style visible
set expand-tilde on
set convert-meta off
set input-meta on
set output-meta on
set show-all-if-ambiguous on
set visible-stats on

मैं जीएनयू बैश प्रलेखन पढ़ रहा हूँ विषय पर है, लेकिन मैं एक खंड समझा चरित्र दृश्यों क्या खोजने के लिए नहीं कर पाए हैं \e[1~, \e[5C, \e\e[D, आदि मतलब है।

मुझे लगता है कि मैंने कहीं पढ़ा है कि \eइसका मतलब है meta character(मैं है जो लगता है कि Altअपने कीबोर्ड में), लेकिन क्या अन्य नियंत्रण वर्ण समझ में नहीं आता [, ~, 5Dआदि मतलब।

किसी को भी विषय पर एक अच्छे संदर्भ का पता है?

जवाबों:


21

ये एएनएसआई नियंत्रण-कोड एस्केप सीक्वेंस हैं जो कि एक "टर्मिनल" कीबोर्ड पर विभिन्न गैर अल्फ़ान्यूमेरिक कुंजी दबाए जाने पर प्रेषित होते हैं।

\ e का अर्थ है ASCII "ESCAPE" वर्ण (अष्टकोणीय 033 हेक्स 1B दशमलव 27)। जो एक कमांड सीक्वेंस इंट्रोडक्शन (CSI) का हिस्सा है।

Escape [ 2 ~जब आप VT220 (या बाद में) टर्मिनल पर "इन्सर्ट" लेबल वाली कुंजी दबाते हैं, तो एक वर्ण अनुक्रम प्रसारित होता है ।

इनमें से कई सम्मेलनों को सॉफ्टवेयर में अपनाया गया है जैसे कि xterm और Linux कंसोल / गोले - अक्सर विभिन्न, कभी-कभी असंगत तरीकों से विस्तारित होते हैं।

बैश के ReadLine समारोह में इन दृश्यों के उपयोग में वर्णन किया गया है आदमी पृष्ठों के लिए ReadLine

       दूसरे रूप में, "कीसेक": फ़ंक्शन-नाम या मैक्रो, कीसेक भिन्न होता है
       ऊपर के कीनेम से उस स्ट्रिंग्स में एक संपूर्ण कुंजी अनुक्रम दिखाई देता है
       अनुक्रम को दोहरे उद्धरण चिह्नों में रखकर निर्दिष्ट करें। कुछ जीएनयू
       Emacs शैली की कुंजी का उपयोग निम्न उदाहरण में किया जा सकता है, लेकिन
       प्रतीकात्मक चरित्र नाम पहचाने नहीं जाते हैं।

          "एयू": सार्वभौमिक-तर्क
          "Cx \ Cr": फिर से पढ़ें init-file
          "ई '[11 ~": "फ़ंक्शन कुंजी 1"

किस क्रम से बचने के लिए कौन सी कीबोर्ड-कुंजियों के अनुरूप हैं, इसकी सूची प्राप्त करने के लिए, आप एक कमांड का उपयोग कर सकते हैं जैसे infocmp -L -1याinfocmp -L -1 xterm


अति उत्कृष्ट!! ऐसा इसलिए है कि वास्तव में मैं क्या देख रहा था। धन्यवाद @RedGrittyBrick!
Amelio Vazquez-Reina

+1। मैं -> = + Ctrlमें कोड ढूंढ रहा था । inputrcENTERCtrln
रेन्डन

@ user1133275: लिंक अपडेट किया गया लेकिन man 3 readline आपके सिस्टम पर कमांड आपको वही जानकारी देनी चाहिए। कमांड डब्ल्यूएसएल में वाइंडोज 10 परman 3 readline भी काम करता है । यदि आवश्यक हो तो आप आउटपुट के विशिष्ट भागों के बारे में एक नया प्रश्न पूछ सकते हैं जो आपको कठिनाई कर रहे हैं। bind -P
RedGrittyBrick
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.