टर्मिनल में Shift + एरो कुंजियों के बारे में इतिहास क्या है?


21

मैं सोच रहा हूँ क्यों Shift+ Arrow Keyमें से एक में परिणाम A, B,C या Dपत्र।

अन्य पत्र क्यों नहीं? आखिर कोई पत्र क्यों?


घुसपैठ: डी मेरी शर्त? पाठ आधारित गेमिंग के साथ करना है: D
रिनविंड

2
बस एक अवलोकन: tty में Shift + Arrow Keysकुछ भी नहीं है।
रादु राईडेनु

@ रिनविंड: :)))
रादु राईडेनु

1
मैंने यह सवाल यूनिक्स / लिनक्स स्टैक एक्सचेंज पर पूछा। कुछ उपयोगी उत्तर हैं। शायद आप उन्हें देखना चाहते हैं। unix.stackexchange.com/questions/73669/…
yfklon

जवाबों:


27

जैसे टर्मिनल emulators gnome-terminal( "टर्मिनल" उबंटू में), लेकिन यह भी xtermऔर urxvt"emulators" नाम है क्योंकि वे पुराने टर्मिनलों जो एक कंप्यूटर का ही प्रदर्शन कर रहे थे के व्यवहार को पुनः कर रहे हैं। इस तरह के टर्मिनलों को कंप्यूटर पर एक पाठ-आधारित प्रोटोकॉल के साथ संचारित किया गया था और शुरू में केवल पाठ प्राप्त करने के लिए डिज़ाइन किया गया था। जल्दी से, अधिक नियंत्रण की आवश्यकता थी: एक पंक्ति को कैसे मिटाया जाए? रंगों का उपयोग करें? या कर्सर की स्थिति बदलें?

VT-100 टर्मिनल स्रोत: यूनिक्स उपयोगिता की कला - कमांड-लाइन इंटरफेस

इस तरह के काम करने के लिए हर टर्मिनल के लिए एस्केप सीक्वेंस डिजाइन किए गए थे। उन्हें एस्केप नाम दिया गया है क्योंकि वे ASCII एस्केप कोड के साथ शुरू करते हैं:33 :। इस तरह के चरित्र को सीधे प्रिंट करने का कोई तरीका नहीं है, जो इस तरह के दृश्यों के लिए अच्छा है। जब हम अभी भी यह प्रदर्शित करना चाहते हैं, ^[[प्रयोग किया जाता है, और यह वह है जो मैं अपने स्पष्टीकरण में उपयोग करूँगा।

जब टर्मिनल प्राप्त हुआ ^[[A, तो इसका मतलब "प्रिंट ^ [[ए" नहीं था, लेकिन "उपयोगकर्ता ने ऊपर-तीर कुंजी दबाया"। "ए" यहां पूरी तरह से मनमाना है: यह सिर्फ उस पत्र के रूप में होता है जिस पर हर कोई सहमत था, क्योंकि डीईसी वीटी -52 और इसके उत्तराधिकारी लोकप्रिय वीटी -100 टर्मिनल का उपयोग करते थे।

DEC VT-52 रखरखाव मैनुअल 1976

स्रोत: DEC VT-52 रखरखाव मैनुअल 1976

यह आज भी टर्मिनल एमुलेटर का काम करने का तरीका है: इस पर निर्भर करता है $TERM चर , नाम terminfoका एक डेटाबेस यह कहने के लिए ज़िम्मेदार है कि किन कोडों को शेल (बैश, श, ज़श ...) को भेजा जाना चाहिए, जो तब उन्हें समझने और प्रतिक्रिया देने के लिए ज़िम्मेदार होता है उनको।

अब, के लिए कोड Shift+ upहोता है ^[[1;2A: टर्मिनल एमुलेटर इस कोड को शेल में भेजता है, जो व्याख्या करने की कोशिश करता है ^[[1;2लेकिन कुछ भी प्रदर्शित नहीं करता है क्योंकि यह उस एस्केप अनुक्रम के बारे में नहीं जानता है। लेकिन Aछोड़ दिया और प्रदर्शित किया जाता है।


5
दिलचस्प। अब उन सभी ^[[Aको समझ में आता है जब मैं तीर कुंजी पर क्लिक करता हूं जबकि टर्मिनल पर एक प्रक्रिया चल रही होती है।
दान

4
कच्चे रूप में भागने के क्रम को 'देखने' के लिए SHIFT-UpArrow को हिट करने से ठीक पहले आप CTRL-v को हिट कर सकते हैं। जब तक आपने
डिफॉल्ट्स

@arielf आप cat >/dev/nullतब टाइप कर सकते हैं , और जब किया जाता है तो Ctrl + C (या फिर तब Ctrl + D) दर्ज करें दबाएं।
wjandrea
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.