इतिहास विस्तार की पुष्टि को कैसे अक्षम करें जैसे `!!`


5

Zsh मेरी अच्छी देखभाल करता है, और कई बार यह थोड़ा बहुत भी हो सकता है। एक बार जहां मैं चाहता था कि यह मेरे व्यवसाय से बाहर रहे, जब यह "यह सुनिश्चित करना चाहता है कि मैं दिए गए आदेश को निष्पादित करना चाहता हूं"। जिन कार्यों के साथ मैं यह अनुभव कर रहा हूं वे हैं:

आदेश:
sudo !! - पिछले कमांड को sudo के साथ पहले से चलाएं
तथा
^old^new - पिछली कमांड चलाएं, लेकिन "पुरानी" की पहली घटना को "नए" के साथ प्रतिस्थापित करें


समस्या:
जब मैं ऊपर सूचीबद्ध और हिट दो कमांड्स में से एक में टाइप करता हूं Enterकमांड को तुरंत चलाने के बजाय, कमांड का विस्तार होता है कि वास्तव में क्या चलने वाला है, और मुझे हिट करना होगा Enter एक बार फिर वास्तव में इसे निष्पादित करने के लिए। पहली दुनिया की समस्या, लेकिन फिर भी।

1 $ pwd
2 /home/neil
3 $ sudo !!
4 $ sudo pwd
5 /home/neil

मैं चरण 4 को छोड़ना चाहूंगा। यह बश में डिफ़ॉल्ट रूप से छोड़ दिया गया है।

जवाबों:


8

यह आसान है ... यदि आप इसी विकल्प को जानते हैं:

unsetopt HIST_VERIFY

इसको अपने अंदर डालो ~/.zshrc और करो source ~/.zshrc यदि आप चाहते हैं कि व्यवहार स्थायी हो।

से स्पष्टीकरण man zshoptions:

HIST_VERIFY जब भी उपयोगकर्ता इतिहास विस्तार के साथ एक पंक्ति में प्रवेश करता है, तो सीधे लाइन निष्पादित न करें इसके बजाय, इतिहास विस्तार करें और पुनः लोड करें                 संपादन बफ़र में लाइन।


यह निश्चित रूप से चाल है, धन्यवाद!
krystah

मैं करूंगा, लेकिन ऐसा प्रतीत होता है upsetopt HIST_VERIFY अगर मैं इसे अंदर डालूं तो किक नहीं करता .zshrc और इसे मैन्युअल रूप से स्रोत। मुझे यकीन है कि कॉन्फ़िगर फ़ाइल एक भरी हुई है। यदि मेरे पास यह कमांड किसी अन्य कमांड की तरह zsh प्रॉम्प्ट में चलता है तो केवल कमांड मेरे लिए काम करता है।
krystah

और हाँ, टर्मिनल एमुलेटर को भी पुनः आरंभ करने की कोशिश की। अजीब।
krystah

1
बस इसे आज़माया, और यह पता चला कि मुझे यह सुनिश्चित करना था oh-my-zsh कमांड चलाने से पहले खट्टा कर दिया जाता है। हल किया!
krystah

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