बैश को विम मोड में ऑपरेट करने के लिए सेट किया जा सकता है। हालांकि, मेरा .vimrc अब उपयोग नहीं किया जाता है। विशेष रूप से, मेरी jj से Esc की मैपिंग अब काम नहीं करती। इन्सर्ट मोड से बाहर निकलने के लिए मुझे Esc दबाना होगा। मैं बैश को अपनी .vimrc फ़ाइल का उपयोग करने के लिए कैसे कहूं?

14
puk 17 जिंदा 2012, 09:32

4 जवाब

सबसे बढ़िया उत्तर

आप बैश के vi मोड की तलाश कर रहे हैं (जो कि बस यही है: बैश के लिए एक vi इनपुट मोड, और इसका vi या vim से कोई लेना-देना नहीं है)।

यह करता है जहां तक ​​​​मुझे पता है रीडलाइन/इनपुटआरसी के साथ करना है ताकि आप देख सकें कि आप कर सकते हैं या नहीं

  • कुंजी को बैश तरीके से बांधें
  • ~/.inputrc . से

लिंक:

अंतिम लिंक में बैश के उपयोग के लिए .inputrc का कुछ अधिक उन्नत उदाहरण है:

# Edit options before rerunning previous command, eg: ls a b c -> ls -al a b c
"\e-": "\C-p\C-a\M-f "

# Cycle thru completions.
"\e/": menu-complete

# glob patterns without executing, eg: 'rm *x'
"\ee": glob-expand-word

# Vim style history search
"\e[A": history-search-backward
"\e[B": history-search-forward

"\e[C": forward-char
"\e[D": backward-char

# Two escapes clear command line.
"\e\e": "\C-a\C-k"
10
sehe 17 जिंदा 2012, 13:15

@sehe के पास निश्चित रूप से सबसे सीधा जवाब है। लेकिन अगर आप .inputrc के साथ खिलवाड़ नहीं करना चाहते हैं, तो कम से कम दो अन्य विकल्प

  • v, जो आपके द्वारा अब तक लिखे गए किसी भी आदेश, या कुछ भी नहीं, आपके .bash_profile में परिभाषित संपादक में ले जाता है (इस पंक्ति का उपयोग करें: EDITOR=/usr/bin/vim)। सहेजें और छोड़ें कमांड निष्पादित करता है। संपादित करें: इसे सामान्य मोड से निष्पादित किया जाना है, इसलिए आपको वहां पहुंचने के लिए अभी भी ESC दबाना होगा :(

  • fc, जो आसान है 'fix कमांड 'आदेश. उस पर और man bash में। संपादित करें: यह आप सम्मिलित मोड में टाइप करते हैं।

3
Aidan Miles 7 पद 2013, 00:46

जबकि स्वीकृत उत्तर में संकेत होते हैं, कट-टू-चेज़ उत्तर इस प्रकार है:

अपनी .inputrc फ़ाइल में, डालें

कीमैप vi-insert सेट करें

"जेजे": "\ ई"

आपको अपनी .inputrc फ़ाइल को फिर से पढ़ने के लिए बाध्य करना होगा। यह आपके टर्मिनल को बंद करके और इसे फिर से खोलकर किया जा सकता है। .inputrc फ़ाइल के साथ लंबे समय तक प्रयोग करने के लिए, इसलिए आपको लॉग आउट करने और फिर वापस आने की आवश्यकता नहीं है, इसे भी डालें:

"\C-x\C-r": री-रीड-इनिट-फाइल

फिर आप init फ़ाइल को फिर से पढ़ने के लिए Control-x, control-r का उपयोग कर सकते हैं और लॉग आउट और बैक इन करने की आवश्यकता नहीं है।

2
Leonard 7 नवम्बर 2014, 00:57

आपके .bashrc में:

set -o vi

बैश के लिए विम मोड

-2
chemila 17 जिंदा 2012, 11:31