पहले मैच में बैश का टैब पूरा करना


11

जब मैं TAB दबाता हूं, तो Windows कमांड प्रॉम्प्ट की तरह TAB को पहले मैच में भरने का कोई तरीका है?

(इसे तब भी मैचों की सूची प्रदर्शित करनी चाहिए, लेकिन जब मैं टैब दबाता रहूं तो यह उनके माध्यम से चक्र होना चाहिए।)

यानी यहाँ लक्ष्य केवल TAB कुंजी के साथ किसी भी मैच को भरने में सक्षम है , पर्याप्त प्रेस दिए गए हैं - जैसे विंडोज में।

जवाबों:


15

अपनी .inputrcफ़ाइल में निम्न जोड़ें , (सिस्टम के बीच सटीक स्थान भिन्न होता है):

"\C-i": menu-complete

यह TAB को मेन्यू-कम्प्लीट करने के लिए मैप करता है, जो पहले मैच को स्वतः पूर्ण करता है।

फिर जोड़ें (या असहजता) show-all-if-ambiguous, यह पहले TAB प्रेस पर संभावित पूर्णताओं की सूची दिखाता है।

वैकल्पिक रूप से, आप मेनू-पूर्ण प्रति सत्र (संपादन के बिना .inputrc) कर सकते हैं

bind '"\C-i" menu-complete'

नहीं, यह निश्चित रूप से विंडोज कमांड प्रॉम्प्ट जैसा कुछ नहीं है । :-)
user541686

@ मेहरदाद: संपादित, मुझे आशा है कि मुझे अब मिल गया है।
फिलोमैथ

+1 लगभग !!! यह वही है जो मैं चाहता हूं, लेकिन क्या ऐसा करने का कोई तरीका है और यदि यह अस्पष्ट है तो मेनू प्रदर्शित करें? (यह बहुत अधिक के लिए पूछ रहा हो सकता है, मुझे पता है, लेकिन मुझे उम्मीद है कि यह संभव है।)
user541686

@ मेहरदाद: यदि आप चाहते हैं, तो इसे स्वीकार करें, इससे लोगों को सही उत्तर पाने में मदद मिलती है। आपके नए अनुरोध के लिए दोनों में एक साथ करने के लिए, मुझे विश्वास नहीं है कि यह संभव है, लेकिन कौन जानता है? ... आप हालांकि menu-completeएक और कुंजी-अनुक्रम के लिए बाध्य कर सकते हैं , जैसे "\M-s"कि Meta+S, इसलिए आप इच्छानुसार चुन सकते हैं।
फिलोमथ

1
आपको पता है कि? ऐसा लगता है कि यह वास्तव में वही कर रहा है जो मैं चाहता हूं: पहले मेनू दिखा रहा हूं, और फिर विकल्पों के माध्यम से साइकिल चलाना! मुझे नहीं लगता कि मैंने इसे पहले कंप्यूटर पर देखा जो मैंने कोशिश की (शायद मैं ध्यान नहीं दे रहा था), लेकिन ऐसा लगता है कि यह पूरी तरह से काम कर रहा है! :) (संपादित करें: ऐसा लगता है कि आपको काम करने के लिए इस सेटिंग और आवश्यकता दोनों की आवश्यकता है show-all-if-ambiguous।)
user541686

4

हालाँकि मुझे इस कार्यशीलता को मारपीट के साथ काम करने के बारे में नहीं पता है, लेकिन zsh डिफ़ॉल्ट रूप से वही सेट अप करता है जो आप चाहते हैं। की जाँच करें ओह-मेरी-zsh और zsh

zsh में बॉक्स से बाहर कुछ अतिरिक्त कार्यक्षमता के साथ बैश की अधिकांश विशेषताएं हैं, जैसे केवल टैब के साथ नेविगेट करने और दर्ज करने की क्षमता!

अधिकांश लिनक्स वितरण zsh स्थापित करने के लिए एक पैकेज के साथ आते हैं।


1
... ओह माय ज़श !! यह दिलचस्प है, मैं इस पर एक नज़र डालूँगा ... यह वह हो सकता है या नहीं जो मुझे चाहिए।
user541686

मैं खुशी से मदद कर सकता है। आप किस वितरण का उपयोग कर रहे हैं? मैं आपको एक गाइड के साथ अधिक गहराई से उत्तर दे सकता हूं कि कैसे zsh और ओह मेरे zsh को स्थापित करें।
क्रिस नादलर

+1 मैंने zsh स्थापित किया, यह बहुत बढ़िया लगता है! अगर मैं किसी भी समस्या में नहीं भागता तो मैं भी इसे स्वीकार कर सकता हूँ, धन्यवाद! :) (मैं Ubuntu btw का उपयोग कर रहा हूँ।)
user541686

बहुत बढ़िया, अगर आप सिर्फ apt-get install zsh चलाए और फिर यहां oh-my-zsh के लिए ऑटो इंस्टॉलर दौड़ा , तो आपको जाने के लिए अच्छा होना चाहिए। अगर आपको इसे स्थापित करने में कोई मदद चाहिए तो मुझे बताएं।
क्रिस नैकलर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.