मुझे प्रलेखन के माध्यम से एक नज़र मिली है, और मुझे कहना होगा कि मुझे वर्तमान vi- मोड का पता लगाने और प्रदर्शित करने का कोई तरीका नहीं मिला। मुझे आशा है कि आपके पास एक सुखद आश्चर्य है और कोई व्यक्ति एक समाधान के साथ आता है, लेकिन मैं निश्चित रूप से आपके द्वारा पूछे जाने वाले तरीके को नहीं देख सकता।
मुझे लगता है कि ऐसा करने का एक तरीका है, लेकिन यह एक छोटी सी झुंझलाहट के लिए बड़े पैमाने पर ओवरकिल है, और मुझे नहीं लगता कि जब आपने इस सवाल को रखा था तो आपके मन में क्या था। अगर यह सच है, तो अभी पढ़ना बंद करो और अपने जीवन का आनंद लो।
OTOH, अगर यह वास्तव में आपका पालतू पशु है, और यह आपको पागल कर रहा है, और आप वास्तव में पूरी तरह से इस समस्या को दूर करना चाहते हैं, तो यहां इसके बारे में जाने का मेरा विचार है:
- डब्ल्यू। रिचर्ड स्टीवंस द्वारा UNIX (R) पर्यावरण में उन्नत प्रोग्रामिंग की एक प्रति प्राप्त करें ।
- धाराओं और टर्मिनल I / O पर अध्याय पढ़ें ।
- स्रोत कोड को उपरोक्त पुस्तक में डाउनलोड करें , जिसमें एक धारा का एक उदाहरण शामिल है जिसे एक टर्मिनल पर स्तरित किया जा सकता है।
- Esc कुंजी संयोजन (या दोनों मोड परिवर्तन कुंजी) के लिए अपनी हैंडलिंग को लागू करें, और इसे वर्तमान लाइन की घंटी या पृष्ठभूमि हेरफेर के माध्यम से इंगित करें।
संक्षेप में, यूनिक्स उपकरण चालक और उपयोगकर्ता प्रक्रिया के बीच एक पूर्ण-द्वैध I / O धारा के रूप में टर्मिनल I / O को लागू करता है, जिसमें मॉड्यूल डाले जा सकते हैं। यह एक स्टैक के रूप में आयोजित किया जाता है, इसलिए आप जितनी चाहें उतनी धाराओं को परत कर सकते हैं। इंजेक्शन की धाराओं का योग आपके टर्मिनल I / O व्यवहार को बनाता है।
जब एक चरित्र में प्रवेश किया जाता है, तो पहला मॉड्यूल इसे निरीक्षण करने और इसे पास करने के लिए मिलता है (यदि यह चाहता है)। जब प्रतिक्रिया विपरीत दिशा में आती है, तो उसे फिर से निरीक्षण करने और इसे पारित करने का मौका मिलता है। यह कैसे एक सामान्य चरित्र कुंजी के लिए एक उच्च स्तर पर एक Ctrl-C हो जाता है।
आप एक स्ट्रीम मॉड्यूल को लागू करने के लिए एक द्विआधारी बना सकते हैं, कि जब अग्रभूमि में चुपचाप चलता है, तो सभी कीस्ट्रोक्स पर निरीक्षण करना और गुजरना, आपके द्वारा कीस्ट्रोक्स पर आपकी पसंदीदा कार्रवाई का प्रदर्शन करना। सभी इरादों और उद्देश्यों के लिए, यह प्रकट होगा जैसे कि आप शेल पर काम कर रहे हैं। ओह। आप इस बाइनरी को अपने .tcshrc की अंतिम (या पहली या किसी भी) लाइन पर लगा सकते हैं और आपको पता भी नहीं चलेगा कि यह वहां है।
यहां एक अच्छा प्राइमर है , लेकिन मैं इस विषय पर बहुत कुछ नहीं पा सका, शायद इसलिए कि यह इसके प्रमुख से अतीत है।