2009-02-19 13 views
33

मैं कैसे Zsh टैब-पूरा होने कॉन्फ़िगर कर सकते हैं ऐसी है कि जब मैं cd ..<TAB> टाइप यह cd ../ करने और <TAB> दबाने फिर से पूरा करने के लिए मूल निर्देशिका में फ़ोल्डर का प्रस्ताव के बाद बढ़ती है?Zsh टैब-पूरा होने के "cd .."

उदा। इसे उसी व्यवहार को दिखाना चाहिए जैसे उदाहरण cd Documents<TAB> जो cd Documents/ तक फैलता है और <TAB> दबाकर फिर से Documents में फ़ोल्डरों को पूरा करने के लिए प्रस्तावित करता है।

कॉन्फ़िगरेशन के लिए प्रारंभिक बिंदु के रूप में मैं मैकपॉर्ट्स से खाली .zshrc और Zsh 4.3.9 का उपयोग करता हूं।

+0

लंबे समय तक मुझे यह संदेह था – JuanPablo

उत्तर

56

डेबियन अस्थिर, उबंटू जौंटी, दोनों जहाज zsh 4.3.9 के साथ समान समस्या। मैं विभिन्न विन्यासों के साथ कई लोगों के बारे में जानता हूँ।

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=514152 पढ़ने के बाद मैं अपने config को

zstyle ':completion:*' special-dirs true 

जोड़ा गया है और अब सब कुछ फिर से ठीक काम करता है।

+12

'मैन zshcompsys' यह भी सुझाव देता है: 'zstyle -e': समापन: * 'विशेष-डीआईआर' [[$ PREFIX = (../) # (| | | ..)]] && answer = (..) '' जो हर समय प्रस्तावित "./" और "../" से बचाता है। – exic

-10

यह उपयोगी उत्तर हो सकता है या नहीं हो सकता है - पर स्विच करें, जो आप बॉक्स से बाहर करना चाहते हैं।

+11

यह कुछ हद तक एक वीम उपयोगकर्ता को emacs पर स्विच करने की तरह कह रहा है, क्योंकि उसे कॉन्फ़िगरेशन स्विच नहीं मिल रहा है ... IMHO zsh बैश से अधिक शक्तिशाली है और यह भी एक पूर्ण समापन के साथ आता है समारोह। आपको बस इसे सक्रिय करना होगा ... – f3lix

8

में इस रखो अपने ~/.zshrc:

autoload -Uz compinit 
compinit 

वहाँ भी zsh कार्य/http://code.google.com/p/zsh-templates-osx/ पर मैक ओएस एक्स के लिए विन्यास के साथ एक परियोजना है। व्यक्तिगत रूप से मुझे लगता है कि यह पूरे पैकेज का उपयोग करने के लिए एक overkill है। लेकिन चेरी को कुछ चाल, फ़ंक्शंस, समापन इत्यादि चुनने में मदद मिली और मेरा खुद का .zshrc

+0

धन्यवाद, यह वास्तव में उस व्यवहार को कॉन्फ़िगर करता है जिसे मैं ढूंढ रहा था। –

+0

आपके कोड में विकल्प जेड क्या करता है? –

+0

ऑटोलोड कमांडलाइन विकल्प: -U - फ़ंक्शन -k - केश-स्टाइल ऑटोलोडिंग के लिए मार्क फ़ंक्शन -t - कार्यों के लिए निष्पादन ट्रेसिंग चालू करें -w - निर्दिष्ट करें कि तर्क संकलित फ़ाइलों का संदर्भ लें zcompile -z के साथ - zsh-style autoloading – f3lix

2

वास्तव में अब मुझे पता चला कि समस्या कॉन्फ़िगरेशन से नहीं आती है। जब एक .zshrc जो केवल शामिल

autoload -Uz compinit 
compinit 

टैब-पूरा होने जब डिफ़ॉल्ट मैक ओएस एक्स Zsh (4.3.4) का उपयोग कर के रूप में cd ..<TAB> के लिए अपेक्षित तरीके से काम का उपयोग कर। लेकिन मैकपॉर्ट्स जेएसएच (4.3.9) के साथ टैब-पूर्णता केवल अन्य फ़ोल्डरों के लिए काम करती है, न कि ..