2011-07-09 13 views
15

मैं अपने मैक ओएस सिस्टम पर अपने .inputrc में "set editing-mode vi", जो आईआरबी में वीआई संपादन की अनुमति देता है। जब मैं एक आरवीएम रूबी का उपयोग कर रहा हूं, तो आईआरबी सत्र इस निर्देश को संसाधित नहीं करते हैं।आरवीएम का उपयोग करते समय मैं आईआरबी में वीआई संपादन-मोड कैसे काम करूं?

क्या कोई समाधान ढूंढता है?

उत्तर

22

क्या आपके पास set -o vi सेट है, या तो कमांड लाइन पर या आपकी स्टार्टअप स्क्रिप्ट में से एक में? यह खोल के लिए इसे चालू करता है। मेरे पास "set editing-mode vi" और set -o vi दोनों हैं और आईआरबी में वी-जैसे संपादन है।


संपादित करें:

~/.editrc बनाने का प्रयास करें, उस में bind -v डाल दिया। हिम तेंदुए में निर्मित संपादन के लिए समर्थन है, इसलिए यह हो सकता है कि आईआरबी क्या उपयोग कर रहा हो।

अधिक जानकारी के लिए man 5 editrc आज़माएं।

+1

हां मैंने ~/.bashrc (वास्तव में ~/.bash_profile) में सेट किया है, और मेरे पास irb में जाने से पहले कमांड लाइन पर vi संपादन है, लेकिन फिर irb के अंदर, ऐसा लगता है कि यह प्रतीत नहीं होता है ~/.inputrc फ़ाइल को संसाधित करें। यह आरवीएम का उपयोग कर मेरे लिए एक बहुत निराशाजनक झटका है। मुझे यकीन है कि एक समाधान है। किसी ने सिफारिश की है कि मैं Readline.set_vi_editing (या कुछ ऐसे आदेश) को आजमाएं लेकिन मुझे त्रुटि मिली "इस मशीन पर लागू नहीं किया गया"। मैक हिम तेंदुए। – pixelearth

+1

~/.editrc फ़ाइल काम किया। तुम एक जिज्ञासु हो मैं तुमसे प्यार करता हूँ। ईश्वर की कसम। आश्चर्य है कि प्रणाली irb ~/.inputrc क्यों उपयोग किया जाता है और आरवीएम irb ~/.editrc का उपयोग करता है ... – pixelearth

+0

~/.editrc मेरे लिए भी काम करता है, मैं पहाड़ शेर चला रहा हूं। धन्यवाद! – trumans1

10

जैसा कि पहले बताया गया है, आप bind -v को अपने ~/.editrc में जोड़ सकते हैं।

इस के साथ समस्या, जैसा कि आपने देखा हो या नहीं देखा है कि यह टैब पूर्ण करने का उपयोग करने की आपकी क्षमता को हटा देता है। यदि आप टैब पूर्णता रखना चाहते हैं तो आप अपने पर bind \\t rl_complete जोड़ सकते हैं।

4

माउंटेन शेर पर आरवीएम-स्थापित रूबी 1.9.3 का उपयोग करके, मैं bind -v ~ ~ .editrc जोड़कर iri में vi कुंजी बाइंडिंग प्राप्त करने में सक्षम था। मैंने उसी सिस्टम पर आरवीएम का उपयोग करके रूबी 2.0 स्थापित किया और इरैक मोड में आईआरबी फंस गया था। set editing-mode vi से ~/.inputrc को जोड़ने के लिए मेरे लिए रूबी 2.0 पर irb में काम कर रहे vi कुंजी बाइंडिंग्स मिला।

+0

मुझे मैथ ओएसएक्स एल कैपिटन के साथ पाइथन 3 का उपयोग करके समान अनुभव था। Bind -v दोनों को .editrc में जोड़ना, और इनपुट-मोड में संपादन-मोड vi सेट करना। – arcseldon