एक अच्छा सा विम वकील के रूप में, मैं आपको अपने कर्सर कुंजी के रूप में hjkl का उपयोग करने के लिए सीखने के लिए बाध्य महसूस करता हूं। समस्या की खोज के आधे रास्ते में, मुझे लगा कि यह रहस्यमय तरीके से खुद को तय कर चुका है, जब तक मुझे एहसास नहीं हुआ कि मैं वास्तविक तीर कुंजियों के बजाय hjkl का उपयोग कर रहा हूं।
वैसे भी, अब एक असली जवाब के लिए।
अपनी सभी स्क्रीन को बंद करने और पुनरारंभ करने के बजाय, आप टर्मिनलों के बीच स्क्रीन की क्षमता का लाभ उठा सकते हैं। CTRL+A
CTRL+D
अपने टर्मिनल से स्क्रीन को अलग करने के लिए हिट करें, फिर screen -D -R
रीटच पर चलाएं । यह आपके तीर कुंजी को फिर से काम करना चाहिए।
यदि आप स्क्रीन में नहीं हैं, लेकिन सिर्फ विम में हैं, तो आप एक ही प्रभाव के लिए CTRL+Z
टाइप कर सकते हैं fg
।
आप विम में कर्सर कुंजी समस्या के आसपास भी काम कर सकते हैं, लेकिन रीसेट ने अन्य टर्मिनल विकल्पों को बदल दिया हो सकता है, इसलिए ऐसा करने के लिए सुरक्षित है जैसा कि ऊपर वर्णित है कि आप अन्य यादृच्छिक डिस्प्ले / कीबोर्ड समस्याएं देखते हैं। यदि आप किसी भी तरह से रेमपिंग चाहते हैं, तो वे यहां हैं:
map <Esc>[A <Up>
map <Esc>[B <Down>
map <Esc>[C <Right>
map <Esc>[D <Left>
मोटा विवरण:
विम और स्क्रीन दोनों टर्मिनल का प्रबंधन करने के लिए ncurses लाइब्रेरी का उपयोग करते हैं। चीजों में से एक ncurses तब कर रही है जब यह VT100- संगत टर्मिनल का नियंत्रण लेता है, तीर कुंजियों को "एप्लिकेशन मोड" में बदल रहा है, जो उनके द्वारा कोडित कोड को बदल देता है। उदाहरण के लिए, ऊपर-तीर कुंजी, से बदलती Esc
[
A
है Esc
O
A
। यह करने के लिए उत्सर्जन VT100 नियंत्रण कोड है Esc
[
?
1
h
। Command + R द्वारा भेजा गया टर्मिनल रीसेट कमांड कर्सर कीज़ को डिफ़ॉल्ट पर रीसेट करता है।
स्क्रीनिंग और रीटेटिंग स्क्रीन के कारण ncurses को टर्मिनल के नियंत्रण को फिर से लेना पड़ता है, जो इसे पसंद की जाने वाली सभी सेटिंग्स को फिर से लागू करता है, इसलिए यह संभवत: सामान्य करने के लिए चीजों को पुनर्स्थापित करने का सबसे पोर्टेबल और विश्वसनीय तरीका है।
VT100 नियंत्रण कोड: http://www.handshake.de/infobase/dfue/prgrmmer/t322.htm