सवाल बैश में केस असंवेदनशील टैब पूर्णता


क्या बैश टैब को पूर्ण मामले को असंवेदनशील बनाने का कोई तरीका है?

$ bash --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)
Copyright (C) 2007 Free Software Foundation, Inc.

मैं मैक ओएस एक्स 10.6 का उपयोग कर रहा हूँ


131
2018-01-01 20:02


मूल




जवाब:


पाठ को अद्यतन करें /etc/inputrc समाविष्ट करना

पूरा होने पर अनदेखा-मामला सेट करें

फिर उपयोग करें ^X ^R कॉन्फ़िगरेशन को पुनः लोड करने के लिए।


157
2018-01-01 20:39



"भी" - /etc/inputrc या ~/.inputrc या एक फ़ाइल द्वारा नामित INPUTRC केवल एक ही स्थान हैं जहां यह जा सकता है। एक बैश प्रॉम्प्ट पर दर्ज करना काम नहीं करेगा। - Dennis Williamson
ओह! आप सही हे :) - John T
^X ^R पुनः लोड करने के लिए inputrc - grawity
@ डेनिसविल्लियमसन: आप कर सकते हैं bind "set completion-ignore-case on" कमांड लाइन से; के लिए, मुझे विश्वास है, केवल टर्मिनल सत्र - Clay Bridges
इसलिए कि क्या msysgit है लेकिन एमएसवाईएस 2 की कमी है! यहां मैं इसे खोजने में कोशिश कर रहा था उदा। / आदि / प्रोफाइल ... - SamB


उपयोग करने के पेशेवरों और विपक्ष के विपरीत हिंडसाइट के लाभ के साथ पुनर्गठित [.]inputrc बनाम .bash_profile
टोपी की युक्ति underscore_d उसकी मदद के लिए।

ध्यान दें: बैश में कमांड लाइन संपादन रीडलाइन लाइब्रेरी द्वारा प्रदान किया जाता है; इसे अनुकूलित करना गैर-तुच्छ है, लेकिन सीखने के लायक है; इसकी विशेषताओं में पाठ के पूर्वनिर्धारित स्निपेट डालने के लिए कस्टम कीबोर्ड शॉर्टकट को परिभाषित करने की क्षमता शामिल है - देखें कमांड लाइन संपादन बैश संदर्भ मैनुअल में

सेवा मेरे लगातार बैश में टैब-पूर्णता केस-असंवेदनशील बनाएं:


विकल्प ए: यदि आपके पास पहले से ही है:

  • एक /etc/inputrc फ़ाइल (सिस्टम-व्यापी लागू होती है, संशोधन की आवश्यकता होती है sudo)
  • और / या ए ~/.inputrc फ़ाइल (उपयोगकर्ता-विशिष्ट)

    और / या

आप रीडलाइन लाइब्रेरी को बड़े पैमाने पर अनुकूलित करने की योजना बना रहे हैं और / या अनुकूलन को प्रभावी बनाना चाहते हैं स्क्रिप्ट जब भी वे कॉल करते हैं read -e:

लाइन जोड़ें

set completion-ignore-case on

सेवा मेरे भी फ़ाइल, इस पर निर्भर करता है कि आप सेटिंग को प्रभावी बनाना चाहते हैं या नहीं सब उपयोगकर्ता या वर्तमान उपयोगकर्ता (यदि आवश्यक हो तो फ़ाइल बनाएं)।

एक संबंधित कमांड जो फ़ाइल और निर्देशिका नामों को पूरा करता है वह आसान है:

set show-all-if-ambiguous on

यह टैब दबाए रखने के लिए अनावश्यक बनाता है दो बार जब एक से अधिक मैच होते हैं।


विकल्प बी: वैकल्पिक रूप से, आप अपने उपयोगकर्ता-विशिष्ट में रीडलाइन आदेश जोड़ सकते हैं ~/.bash_profile ओएस एक्स पर फ़ाइल (या ~/.bashrc लिनक्स पर), उन्हें एक के रूप में पास करके एक के लिए तर्क bind builtin:

bind "set completion-ignore-case on"
bind "set show-all-if-ambiguous on"

ध्यान दें कि bind में आदेश ~/.bash_profile / ~/.bashrc या तो समकक्ष आदेशों पर प्राथमिकता लें /etc/inputrc या ~/.inputrc

जैसा ऊपर बताया गया है, रीडलाइन कॉन्फ़िगरेशन इस तरह से परिभाषित किया जाएगा नहीं में प्रभाव डालें स्क्रिप्ट वह कॉल read -e उपयोगकर्ता इनपुट पढ़ने के लिए रीडलाइन समर्थन को सक्रिय करने के लिए।


102
2018-06-11 05:02



शो-सब-अगर-अस्पष्ट इतना अच्छा है! मैं अक्सर सोचता हूं कि उन्होंने मुझे कार्रवाई करने के लिए दो बार टैब क्यों बनाया। मेरे भविष्य में हजारों कीस्ट्रोक बचाए गए! धन्यवाद! - user34112
बहुत बढ़िया, यह भी काम करता है cdआदेश देता है। जो हल करता है यह प्रश्न और मुझे हजारों कीस्ट्रोक भी बचाएगा। :) - hoosierEE
महान बिंदु फिर से show-all-if-ambiguous। हालांकि, चूंकि आप "वैकल्पिक के रूप में" कहते हैं, क्या वास्तव में ऐसा करने के लिए कोई लाभ है bind, जब inputrc फाइलें अनावश्यक लगती हैं? - underscore_d
@underscore_d: अच्छा सवाल; कृपया मेरा अद्यतन उत्तर देखें। - mklement0
अच्छा है धन्यवाद! डेबियन 8.2 पर मेरे पास न तो था inputrc, लेकिन मैं खुशी से बनाया ~/.inputrc और इन्हें जोड़ा, साथ ही अन्य वास्तव में उपयोगी निर्देश। मुझे लगता है कि हम मान रहे हैं कि सभी पाठकों को यह पता है /etc/inputrc  अन्य उपयोगकर्ताओं को प्रभावित करता है (जब तक कि बाद वाले प्रभावित सेटिंग्स को ओवरराइड न करें)? बस जब हम चेतावनी का जिक्र कर रहे हैं;) - underscore_d


सभी उपयोगकर्ताओं के लिए कॉन्फ़िगरेशन बदलने से बचने के लिए और रूट अनुमतियों से बचने के लिए निम्न का उपयोग करें:

if [ ! -a ~/.inputrc ]; then echo '$include /etc/inputrc' > ~/.inputrc; fi
echo 'set completion-ignore-case on' >> ~/.inputrc

फिर ~ / .inputrc पुनः लॉगिन या पुनः लोड करें


1
2018-04-08 04:52