मैं VI में वर्तमान शेल कमांड को कैसे संपादित करूं


31

मैंने लिनक्स मशीनों पर ब्लॉग्स में देखा है कि आप ctrl-x, ctrl-e दबाकर VI में वर्तमान बैश शेल कमांड (या जो भी EDITOR सेट है) को एडिट कर सकते हैं।

यह 10.8 पर काम नहीं करता है। डिफ़ॉल्ट संपादक में वर्तमान बैश कमांड को संपादित करने के बारे में कोई विचार?


यह 10.8 में काम करना चाहिए (कम से कम यह मेरे लिए करता है)। क्या आपने FCEDIT और EDITOR को परेशान करने की कोशिश की?
nohillside

सी-एक्ससी-ई के लिए प्रलेखन यहाँ है - आपके VISUALचर में क्या है ?
ग्लेन जैकमैन

यह 10.8 के बारे में नहीं है। मैं 10.8 पर हूं और यह मेरे साथ ठीक काम करता है। मैंने इसे सक्षम करने के लिए अपने .bash_profile में कुछ भी नहीं बदला।
विंसेंट


1
मुझे बस एहसास हुआ कि मैं Ctrl + (x, e) कर रहा था (ctrl को पकड़े हुए, x दबा रहा है, e दबा रहा है, नियंत्रण जारी कर रहा है) - यही कारण है कि यह मेरे लिए काम नहीं करता था। जब मैं Ctrl-x दो स्पष्ट स्ट्रोक दबाने के लिए बदल गया, तो Ctrl, Ctrl-e जारी करें - फिर सब कुछ पूरी तरह से काम करना शुरू कर दिया!
दिमित्री के

जवाबों:


32

आप चाहते हैं set -o vi(इसे अपने में जोड़ें ~/.bashrc)। फिर, वर्तमान लाइन को संपादित करने के लिए, बस Escकमांड मोड दर्ज करने के लिए हिट करें।

Http://www.gnu.org/software/bash/manual/bashref.html#Readline-vi-Mode देखें

पूर्ण-स्क्रीन संपादक में वर्तमान कमांड को संपादित करने के लिए, अपना VISUALपर्यावरण चर vim(मुझे लगता है कि आप चाहते हैं vim) सेट करें , फिर वर्तमान टिप्पणी में कमांड मोड में, हिट करें v


5
"v" दबाने पर गुप्त सॉस था जो मैं गायब था। धन्यवाद।
स्कॉट वाल्टर

2
क्या vemacs (गैर-vi) मोड में रहते हुए यह कमांड प्राप्त करना संभव है?
एलेक्स कहन

10
बस Ctrl-X करें फिर Ctrl-E करें।
अल्बपा

7

आपका मोड के edit-and-execute-commandलिए बाध्य नहीं हो सकता viहै। प्रयत्न:

bind -m vi-insert '"\C-x\C-e": edit-and-execute-command'

इसे स्थायी बनाने के लिए, उस लाइन को अपनी ~/.inputrcफ़ाइल में जोड़ें ।

( इस उत्तर के माध्यम से ; लिंक के लिए @unfor अविस्मरणीय पर क्रेडिट)

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