कमांड मोड में डिफ़ॉल्ट के लिए बैश vi मोड कॉन्फ़िगरेशन


14

यह कॉन्फ़िगर बैश vi मोड के लिए संभव है, ताकि शुरू में यह है आदेश के बजाय पर मोड डालने मोड? मुझे लगता है कि मुझे Escबहुत दूर तक प्रेस करना होगा । ऐसा लगता है कि इसे zsh में निर्दिष्ट करने की संभावना है, लेकिन मुझे इसे bash / readline में करने का कोई तरीका नहीं मिला है।

जवाबों:


2

मुझे नहीं लगता कि मानक GNU रीडलाइन लाइब्रेरी का उपयोग करना संभव है ।

हालांकि, आप समान प्रभाव को प्राप्त करने के लिए एक साधारण हैक के लिए xdotool का उपयोग करने में सक्षम हो सकते हैं । आपके लिए एक कमांड लागू करना .bashrcजो एक Escapeकुंजीपट का अनुकरण करता है यह सुनिश्चित करेगा कि आपका शब्द कमांड मोड में खोला गया है:

xdotool key Escape

आप --delayस्विच के साथ थोड़ी देरी का उपयोग करना चाह सकते हैं , ताकि इसे आपके प्रॉम्प्ट को रोकने के लिए ...

ध्यान दें कि यह आपकी अपेक्षा से अधिक निराशा का परिचय दे सकता है: टर्मिनलों को इनपुट स्वीकार करने के लिए डिज़ाइन किया गया है; इसे तोड़ना (यद्यपि केवल थोड़ा सा) इतना अच्छा विचार साबित नहीं हो सकता है ...


1

मैं इसे वापस लेता हूं, यह कर्सर आंदोलन के साथ काम नहीं करता है। यह काम करता है, लेकिन मजाकिया व्यवहार के साथ, यदि आप उन्हें बाहर निकालते हैं:PS1="$PS1 ^[


अपना PS1संकेत बदलें :

PS1="test $ \[^[[s^[^[[u\]"

कहाँ ^[शाब्दिक पलायन ( Ctrl+ V Esc) है।

कमांड मोड में मध्य में अपने आप ही पलायन , ^[[sऔर ^[[uकर्सर की स्थिति को पुनर्स्थापित करने और स्टोर करने से बच जाता है; इसके बिना, मैंने पाया कि कुछ अजीब व्यवहार था।



-1

प्रयत्न set +o vi

set -o vi फिर से संपादन मोड में ले जाएगा।

http://tldp.org/LDP/abs/html/options.html


यह काम नहीं करता है: यह vi मोड को बंद कर देता है ...
jasonwryan

हाँ, मैंने कोशिश की। सही। मैं इसके बारे में सोच सकता हूं - विम का उपयोग करके, कुंजी के लिए सीमैप (संदर्भ: हेल्प मोड-स्विचिंग इन वीम) को बदल दें Esc। डिफ़ॉल्ट समकक्ष मानचित्रण के लिए EscहैCtrl + ]
निखिल मुल्ले

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