2012-07-30 10 views
13

मेरे पास git df के साथ उपयोग करने के लिए एक कस्टम उपनाम है (यह मूल रूप से git diff के लिए शॉर्टकट है)।कस्टम गिट उपनाम के साथ zsh स्वत: सुधार कार्य

हालांकि, Git के zsh स्वत: सुधार के साथ, हर मैं एक निर्देशिका है कि एक db निर्देशिका में शामिल है में git df उपयोग करते हैं, मैं इस मिल:

% ls 
app/ config/ db/ lib/ log/ spec/ 

% git alias | grep "df" 
df = diff 

% git df 
zsh: correct 'df' to 'db' [nyae]? 

वहाँ एक रास्ता मैं zsh मेरी Git उपनाम के बारे में पता कर सकता है है तो यह मेरे आदेशों को स्वत: सुधारने का प्रयास करते समय उन्हें ध्यान में रखता है? मैं यह जानना चाहता हूं कि git df मौजूद है और मुझे इसके बजाय git db का सुझाव नहीं है।

मैं एक zsh alias (उदाहरण के लिए alias gdf="git diff") बनाना नहीं चाहता हूं या alias git="nocorrect git" का उपयोग नहीं करना चाहता हूं।

आपकी मदद के लिए धन्यवाद!

+1

मेरा मानना ​​है कि यह पूरी तरह से स्वत: सुधार अक्षम करने के लिए आसान है के खिलाफ होने लगते हैं: मैं कभी यह अन्य तो फ़ाइल नामों कुछ को सही नहीं देखा है। और 'कमांड कमांड'/'गुफा संकल्प पैकेज' जैसी चीजें '.command'/'.package' कॉन्फ़िगरेशन निर्देशिका के साथ वास्तव में घृणास्पद हैं। उनमें से प्रत्येक के लिए उपनाम जोड़ने के लिए इस तरह के बहुत सारे आदेश हैं। – ZyX

+1

पहले मैंने सोचा था कि यह पूरी तरह अक्षम करने के लिए एक पागल विचार था लेकिन फिर मुझे एहसास हुआ कि स्वत: सुधार स्वत: पूर्णता के समान नहीं था। मुझे स्वत: पूर्णता पसंद है, लेकिन हाल ही में मेरे रास्ते में स्वत: सुधार हो रहा है। मैंने इसे 'unsetopt correct_all' के साथ अक्षम कर दिया है और हम देखेंगे कि यह कैसा चल रहा है। सलाह के लिये धन्यवाद! – remi

उत्तर

3

आप hash -rf या rehash आदेश चलाकर स्वत: सुधार कैश को पुनर्निर्माण के लिए zsh को मजबूर कर सकते हैं। यह मेरी समस्या को हल करता है जब zsh गलत चीज़ को स्वत: सुधार कर रहा था।

git config --global help.autocorrect 2 

मुझे लगता है कि आप Git पूरा होने को बदलने के लिए होगा अगर तुम zsh में इस सुविधा को लागू करना चाहते हैं कि:

git config --global help.autocorrect 

autocorrecting से पहले 2s इंतजार करेंगे:

+1

यह अलग है: इसमें "कमांड नाम" - "बाइनरी के लिए पथ" संबंध के साथ-साथ "नामित निर्देशिका" - "वास्तविक पथ" हैश शामिल है। आपका आदेश इस मामले में स्वत: सुधारों को ठीक नहीं करेगा, यह केवल आदेशों के स्वचालित सुधार को ठीक कर सकता है। – ZyX

3

Git एक स्वत: सुधार सुविधा है सीधे काम करें।

1

कभी-कभी, मुझे लगता है कि ऑटो सही थोड़ा परेशान हो जाता है। तो मैं अपने ~/.zshrc में करता हूं,

DISABLE_CORRECTION="true" 

यह ऑटो सही सुविधा को अक्षम करता है। अन्यथा, आप

alias git="nocorrect git" 

कर सकता है लेकिन आप उस

संबंधित मुद्दे