झकझक जश गट ऑटोकंपलीशन


10

मैंने उबटन से हार्डी पर 4.3.4 का उपयोग करके बैश से स्विच किया। मैं git के साथ विकास कर रहा हूं और मैं खुद को लगातार डिफॉल्ट git पूर्णताओं से लड़ता हुआ पाता हूं: फ़ाइलनाम पूरा होने से यह पता लगाने की कोशिश करता है कि आपने क्या जोड़ा है या हटा दिया है (git-ls-files का उपयोग करके), लेकिन कभी-कभी यह गलत हो जाता है --- उदाहरण के लिए, यदि आप एक उप-निर्देशिका में हैं। यह मेरे कस्टम git उपनामों के बारे में भी नहीं जानता (उदाहरण के लिए, कमिट के लिए उपनाम के रूप में git ci)।

zsh सुपरसर्स, मुझे इस स्थिति में कैसे सुधार करना चाहिए?

यहाँ मेरे कुछ विचार हैं, हालाँकि मैं नहीं जानता कि उन्हें कैसे लागू किया जाए क्योंकि मैं zsh में नया हूँ, इसलिए हो सकता है कि आप अपनी मदद कर सकें या आपकी मदद कर सकें:

  • सिर्फ शाखा / टैग / कमांड-नाम / कमांड-ऑप्शन पूरा होने पर, फ़ाइल नाम पूरा होने को निष्क्रिय करें।
  • "स्मार्ट" फ़ाइलनाम को नियमित zsh फ़ाइल नाम पूरा होने के साथ बदलें।
  • यदि यह बग ठीक करता है, तो एक नई _git पूरी करने वाली फ़ाइल प्राप्त करें, और सिस्टम को ओवरराइड करें।

धन्यवाद!


क्या आपने github.com/robbyrussell/oh-my-zsh
ukanth

हां, जहां तक ​​मैं बता सकता हूं, यह सिर्फ एक git प्रॉम्प्ट जोड़ता है और अंतर्निहित पूर्णताओं को ट्विक नहीं करता है।
एमिल सीट

क्या कोई हमें बता सकता है कि सभी git कमांड के लिए सभी "स्मार्ट" को कैसे निष्क्रिय किया जाए? वे बहुत ज्यादा IO करते हैं। शेल को तुरंत जवाब देने की आवश्यकता है। मैं सिर्फ git कमांड के लिए अच्छे पुराने सरल फ़ाइलनाम को पूरा करना चाहता हूं। हर बार जब मैं इसके लिए एक वेब खोज करता हूं तो मुझे जेनेरिक zsh मैन पेज की जानकारी मिल जाती है।
पीटर लियोन

2
FYI करें जो किसी को भी कष्टप्रद git पूर्णता को निष्क्रिय करना चाहते हैं जो शेल को IO करने से रोकता है, Ubuntu 10.04 पर, मैंने अभी-अभी यह किया है: sudo mv /usr/share/zsh/functions/Completion/Unix/_git /usr/share/zsh/functions/Completion/Unix/OFF_git
पीटर लियोंस

जवाबों:


5

Zsh के नवीनतम संस्करण में अपग्रेड करने का प्रयास करें। मैं सिर्फ 4.3.4 से 4.3.10 में उन्नत हुआ और यह कम से कम Git उपनामों के पूरा न होने की समस्या को ठीक करता है।

अपने संस्थापन को हैक करने के बजाय मैंने इसे अपने स्थानीय में जोड़ा .zshrc:

customzsh=/usr/local/src/zsh-4.3.10/bin/zsh-4.3.10
if [ "$SHELL" != "$customzsh" ]; then
  export SHELL=$customzsh
  exec $customzsh
fi

5

बड़ी परियोजनाओं के लिए, यहां तक ​​कि नई git पूर्ण स्क्रिप्ट भी बहुत धीमी है। उन्हें अक्षम करने और सामान्य फ़ाइल पूर्णता का उपयोग करने के लिए, अपने .zshrc में निम्न कमांड रखें:

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