क्या टर्मिनल में विम कुंजी बाँधना संभव है?


42

मुझे बाइंडिंग की आदत हो रही है (जैसे w को वर्ड में जाने के लिए, किसी शब्द को हटाने के लिए dw, और ऐसे) और यह मोड है (सम्मिलित करें, सामान्य, दृश्य), और, जिज्ञासा से बाहर जानना चाहेंगे: क्या कुछ है मोड और बाइंडिंग के इस व्यवहार को विम से मेरे टर्मिनल तक लागू करना?

इन्सर्ट मोड, नॉर्मल मोड और ऐसे ...

जवाबों:


45

इसमें इन्सर्ट और नॉर्मल मोड है (इन्सर्ट मोड डिफॉल्ट है, और नॉर्मल मोड के लिए एस्केप) लेकिन कोई विजुअल मोड नहीं।

बैश में: set -o viआप इसे केवल इस सत्र के लिए कमांड लाइन पर चला सकते हैं या इसे अपनी .bashrc फ़ाइल में जोड़ सकते हैं।

कई कार्यक्रम readlineइनपुट के लिए उपयोग करते हैं, और आप उनमें से किसी को भी अपने .inputrcसाथ सेट करके vi-style कीबाइंडिंग का उपयोग कर सकते हैं

set editing-mode vi
set keymap vi

Zsh में, यदि आप अपने EDITORपर्यावरण चर को बदलते हैं, तो शेल इसका मिलान करेगा।


1
काफी साफ़। क्या आपको पता है कि किसी तरह का .vimrc भी संभव है, लेकिन इसके उपयोग के लिए? उदाहरण के लिए, <ESC> ... के लिए अलग-अलग मैपिंग जोड़ना
कोई व्यक्ति अभी भी MS-DOS

2
@ कोई नहीं: .vimrcचूंकि आप अभी भी शेल के अंतर्निहित संपादक का उपयोग कर रहे हैं, लेकिन आप .inputrcसभी रीडलाइन अनुप्रयोगों (जैसे बैश) के लिए, .bashrcविशेष रूप से बश के लिए , zsh के लिए कुंजी बाइंडिंग कॉन्फ़िगर कर सकते हैं .zshrc
गिल्स एसओ- बुराई को रोकना '


3
ध्यान दें कि OS X पर, आपको put -o vi~ / .bashrc के बजाय ~ / .bash_profile में डालने की आवश्यकता होगी ।
स्टीव जोर्गेनसन

6
मुझे लगता है कि कर्सर की उपस्थिति अलग-अलग मोड में नहीं बदलती w / vi कुंजी बाइंडिंग। क्या ऐसा करने का कोई तरीका है? यह देखना अच्छा होगा कि मैं किस विधा में हूँ।
स्टीव जोर्गेनसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.