2011-02-08 11 views
13

चलो कहते हैं कि मैं इन चर में परिभाषित करते हैं मेरे bashrc:परिवर्तनीय विस्तार के बिना बैश टैब पूर्णता?

i='cgi-bin/internal'; 
e='cgi-bin/external'; 
f='cgi-bin/foo'; 
b='cgi-bin/bar'; 
ad='cgi-bin/admin'; 
#etc... 

जब मैं कमांड लाइन पर चर का उपयोग vim $i/edit_टैब यह चर और कमांड लाइन पर इनपुट का विस्तार होगा vim /www/productX/subdomain_x/cgi-bin/internal/edit_ (संबंधित हो जाता है मैं जो भी साइट पर हूं) और फिर मैं टैबसंभव पूर्णता प्राप्त करने के लिए टैब

यह ठीक है, कार्यक्षमता समस्या नहीं है। यह सिर्फ इतना है कि वे चर के मूल्य के बजाय हर बार पूर्ण पथ देखने के लिए परेशान हो सकते हैं।

कार्यक्षमता समझौता किए बिना कमांड लाइन पर बैश चर का विस्तार करने का कोई तरीका नहीं है?
क्या यह बैश पूरा करने वाला यह कर रहा है?

वांछित परिणाम $i होगा जो इसके मूल्य (दृश्यमान) या $i तक विस्तारित नहीं हो रहा है, जो पूर्ण पथ के बजाय एक सापेक्ष पथ में विस्तार कर रहा है।

+0

आप इसे कब देखते हैं? वैरिएबल मेरे लिए तब तक विस्तार नहीं किए जाते जब तक कि मैं 'खोल-विस्तार-रेखा' (Ctrl-Alt-e) या 'पूर्ण-चर' (Alt-$) नहीं करता। क्या आपके पास Ctrl-i (या Esc-Esc) डिफ़ॉल्ट से भिन्न है? 'Bind -p | grep' पूर्ण $ '' का नतीजा क्या है? –

+0

एएके, क्षमा करें, मेरी को मूल पोस्ट से धारीदार लग रहा है ... – Andrew

+0

'bind -p | grep 'पूरा $'' का परिणाम क्या है? यदि '$ i' में" cgi-bin/internal/"है, तो"/www/productX/subdomain_x/"कहां से आता है? –

उत्तर

2

आप bash के बजाय zsh का उपयोग करने का प्रयास कर सकते हैं। zsh में,

vim $i[tab] 

एक रिश्तेदार पथ के लिए $ मैं फैलता

, मुझे यकीन है कि जो अन्य सेटिंग्स आप अपने बैश स्टार्टअप स्क्रिप्ट में उपयोग नहीं कर रहा हूँ

+0

+1, भले ही यह सीधे प्रश्न का उत्तर नहीं दे। – jli

+0

-1 एक उत्तर जो कुछ भी जवाब नहीं देता है ... बस एक और खोल के लिए अपनी वरीयता दिखाएं ... एक खोल बदलना एक छोटा सा चीज नहीं है, यह निर्भर करता है कि आपका पर्यावरण कैसा है, जो इसका उपयोग करता है, जो इसे रखरखाव देता है .. । – ceinmart

0

(इसके अलावा Oh My Zsh zsh अनुकूलित करने के लिए बहुत अच्छा है), लेकिन

complete -r -v 
0

का उपयोग shopt -u progcomp के लिए काम किया: मेरे लिए निम्नलिखित बैश आदेश काम कर देता है आर मुझे, इसके बाद टैब अब चर का विस्तार नहीं किया था। एक दुकान डॉक https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html