ZLE_REMOVE_SUFFIX_CHARS
/ ZLE_SPACE_SUFFIX_CHARS
ये पैरामीटर लाइन संपादक द्वारा उपयोग किए जाते हैं। पूरा होने की प्रणाली द्वारा जोड़े गए कुछ परिस्थितियों में प्रत्यय (आमतौर पर स्थान या स्लैश) को स्वचालित रूप से हटा दिया जाएगा, क्योंकि या तो अगला संपादन कमांड एक डालने योग्य वर्ण नहीं था, या क्योंकि वर्ण को हटाने के लिए प्रत्यय की आवश्यकता के रूप में चिह्नित किया गया था।
इन चरों में वर्णों के सेट शामिल हो सकते हैं जो प्रत्यय को हटा देगा। यदि ZLE_REMOVE_SUFFIX_CHARS
सेट किया गया है, तो उन वर्णों के कारण प्रत्यय हटा दिया जाएगा; यदि ZLE_SPACE_SUFFIX_CHARS
सेट किया जाता है, तो वे वर्ण प्रत्यय हटाए जाएंगे और एक स्थान से बदल दिए जाएंगे।
यदि ZLE_REMOVE_SUFFIX_CHARS
सेट नहीं किया गया है, तो डिफ़ॉल्ट व्यवहार इसके बराबर है:
ZLE_REMOVE_SUFFIX_CHARS=$' \t\n;&|'
यदि ZLE_REMOVE_SUFFIX_CHARS
सेट किया गया है, लेकिन खाली है, तो किसी भी वर्ण का यह व्यवहार नहीं है। ZLE_SPACE_SUFFIX_CHARS
पूर्वता लेता है, ताकि निम्नलिखित:
ZLE_SPACE_SUFFIX_CHARS=$'&|'
पात्रों का कारण बनता है &
और |
प्रत्यय को हटाने के लिए लेकिन इसे एक स्थान के साथ बदलने के लिए।
अंतर को स्पष्ट करने के लिए, मान लें कि विकल्प AUTO_REMOVE_SLASH
प्रभावी है और निर्देशिका डीआईआर को पूरा किया गया है, एक जोड़ा के साथ /
, जिसके बाद उपयोगकर्ता प्रकार &
। डिफ़ॉल्ट परिणाम है DIR&
। ZLE_REMOVE_SUFFIX_CHARS
सेट के साथ लेकिन &
परिणाम शामिल किए बिना DIR/&
। परिणाम ZLE_SPACE_SUFFIX_CHARS
शामिल करने के लिए सेट के साथ &
है DIR &
।
ध्यान दें कि कुछ पूर्णताएं अपने स्वयं के प्रत्यय हटाने या प्रतिस्थापन व्यवहार प्रदान कर सकती हैं जो यहां वर्णित मूल्यों से आगे निकल जाती हैं।
zsh -f
(अपने कॉन्फ़िगरेशन को लोड करना छोड़ें)। आप देखेंगे कि zsh अब ऐसा नहीं करेगा। फिर, आपको ओह-माय-ज़श में यह पता लगाने की कोशिश करनी होगी कि यह किस कारण से हो रहा है; ;-)