bash - Implementing autocompletion to zsh aliases -


मैं भयानक zsh ढांचे का उपयोग कर रहा हूं। हर दिन मैं gc को मारा जो git commit के लिए एक उपनाम है gt; & lt; Tab & gt; और यह मुझे सही फाइल प्रतिबद्ध करने के लिए। मैं वास्तव में यह जानना चाहता हूं कि यह कैसे कार्यान्वित हुआ है, इसलिए मैं उप-निर्देशिका में नेविगेट करने के अपने खुद के विचार को एक उपनाम का उपयोग कर सकता हूं।

मेरा मतलब है कि इस उपनाम -w ए & lt; टैब & gt; & lt; टैब & gt; का उपयोग करके ~ / workspace / a-repo में नेविगेट करना ए-रेपो और मुझे कुछ सुझाव दिए गए हैं जो अंदर ~ / कार्यस्थान के अंदर हैं मैंने पहले से ही यह उपनाम बनाया है लेकिन मुझे यह जानने की जरूरत है कि कैसे इसे सही स्वत: पूर्णता / सुझाव जोड़ने के लिए।

यहां मेरा उपनाम है:

  -w () {cd ~  जीसी    

के मामले में / कार्यस्थान / "$ *"} (जो मुझे लगता है oh-my-zsh के git प्लग इन में alias gc = 'git commit -v' के रूप में परिभाषित किया गया है) zsh अंदरूनी रूप से पूर्णता के लिए कोशिश करने की तलाश के पहले वास्तविक कमान ( git commit -v ) के साथ उपनाम ( gc ) का विकल्प। यह प्रत्येक उपनाम के लिए काम करता है (जब तक कि शेल विकल्प COMPLETE_ALIASES सेट नहीं किया जाता है, जो उपनामों के लिए अलग-अलग पूर्णता निर्धारित करने की अनुमति देगा)।

आप क्या करना चाहते हैं: Code> -w वास्तव में एक समारोह है और एक उपनाम नहीं है, आपको वास्तव में अपना स्वयं का पूरा होना होगा लेकिन इसके बारे में जाने के लिए एक बहुत सरल तरीका है: स्टेटिक नामित निर्देशिका

नामांकित निर्देशिका आमतौर पर उपयोगकर्ताओं की बस घरेलू निर्देशिका हैं प्रणाली। वर्तमान उपयोगकर्ता की होम डायरेक्टरी के लिए सबसे अधिक ज्ञात शायद ~ है अन्य उपयोगकर्ता निर्देशिकाओं को ~ USERNAME नाम दिया गया है। आप अपने स्वयं के स्थिर नामित निर्देशिका भी परिभाषित कर सकते हैं ऐसा करने के दो तरीके हैं:

  • एक नाम को स्पष्ट रूप से परिभाषित करने के लिए हैश-डी का उपयोग करें, एक उपनाम के समान:
     हैश- dw = ~ / कार्यस्थान  
    • एक स्ट्रिंग शेल पैरामीटर को परिभाषित करके यह स्पष्ट रूप से परिभाषित करें जिसका मान / से शुरू होता है (इसका अर्थ है कि आप
       w = "$ {HOME} / वर्कस्पेस"  

      दोनों ही मामलों में आप अब का उपयोग कर सकते हैं। ~ W अपने कार्यक्षेत्र को संदर्भित करने के लिए, दूसरे मामले में आप $ w (उदाहरण के लिए उद्धृत स्ट्रिंग्स में उपयोग के लिए) का उपयोग कर सकते हैं cd ~ w / a-repo टाइपिंग आपको ~ / workspace / a-repo पर पहुंच जाएगी। टैब-पूरा काम जैसे कि किसी अन्य मार्ग से होता है, इसलिए ~ w / a & lt; टैब & gt; दबाकर आपको ~ w / a-repo पूर्णता के रूप में प्रस्तुत करेगा।

      इसके अतिरिक्त, यदि आप शेल विकल्प AUTO_CD ( setopt AUTO_CD ) सेट करते हैं, तो आप सीडी

       % w = "/ tmp"% cd ~ w% pwd / tmp% mkdir 1 2 3% setopt AUTO_CD% ~ w / & lt; TAB & gt; 1 2 3% ~ w / 1% pwd / tmp / 1    

Comments

Popular posts from this blog

ios - Adding an SKSpriteNode to SKScene from a child SKSpriteNode -

Matlab transpose a table vector -

c# - Textbox not clickable but editable -