2013-02-19 9 views
7

तो मेरे बैश/जेएस टर्मिनलों में मेरे पास set -o vi है। लेकिन फिर मुझे कमांड मोड में जाने के लिए ईएससी दबाए जाने की जरूरत है। मैं यह नहीं समझ सकता कि मैं उस कमांड मोड को डिफ़ॉल्ट व्यवहार कैसे बना सकता हूं?मैं vi डालने मोड के बजाय डिफ़ॉल्ट बैश/zsh मोड को vi कमांड मोड में कैसे सेट कर सकता हूं?

+1

कमान मोड एक गैर खाली कमांड लाइन पर और अधिक उपयोगी लगता है इस ऐड; आप इसे डिफ़ॉल्ट क्यों बनाना चाहते हैं? – chepner

+0

'ई' को दबाकर 'ईएससी' (विशेष रूप से मेरे किनेसिस कीबोर्ड पर) तक पहुंचने से आसान है ... – revit09

+0

आप एस्केप के अलावा किसी अन्य चीज़ पर कमांड मोड दर्ज करने के लिए उपयोग की जाने वाली कुंजी बदल सकते हैं। मैं इसका जिक्र करता हूं क्योंकि 'मैन zshzle' में 'बाइंड-की' के लिए प्रलेखन' vicmd' से' main' को जोड़ने में सक्षम नहीं है, क्योंकि आप 'viins' से' vicmd' (संभवतः बाद में स्विच करने में सक्षम नहीं होंगे) पहली बार 'viins' पर स्विचिंग)। – chepner

उत्तर

3

आप 'xdotool' के साथ उस व्यवहार को प्राप्त कर सकते हैं। यह स्थापित करें और करने के लिए अपने ~/.bashrc तो

set -o vi 
xdotool key Escape 
+0

यह केवल एक्स विंडो में काम करता है, है ना? –

+0

हां, इसे केवल निष्पादित किया जाना चाहिए, जब $ DISPLAY चर सेट हो। शायद इनपुट अनुकरण करने के लिए एक और सार्वभौमिक तरीका है। – ineb

संबंधित मुद्दे