Zsh पूर्णता, शिफ्ट-टैब को सक्षम करना


13

जब zsh आपको संभावित पूर्णताओं का एक मेनू दिखाता है, तो मैं चाहूंगा कि मुझे shift-tabपिछली पूर्ण प्रविष्टियों तक पहुंचने के लिए उपयोग करने दें - क्या कोई विकल्प है जो पिछले पूर्ण प्रविष्टियों को एक्सेस करने के लिए उपयोग की जाने वाली कुंजी को नियंत्रित करता है?

और यदि हां, तो ~/.zshrc इसे स्थापित करने के लिए मुझे अपनी फ़ाइल में क्या जोड़ना होगा।

अगर इससे कोई फर्क पड़ता है, तो मैं वर्तमान में एरो-कीज़ का उपयोग करके एक पूर्ण-मेनू के माध्यम से नेविगेट कर सकता हूं, लेकिन मैं ऐसा करना पसंद नहीं करता क्योंकि एरो-कीज़ जगह से बाहर महसूस करते हैं और उपयोग करने के लिए अजीब हैं।

जवाबों:


13

आप संपादक आदेश बाध्य करने के लिए चाहते हैं reverse-menu-completeके लिए menuselectकीमैप।

bindkey -M menuselect '^[[Z' reverse-menu-complete

मुझे यकीन नहीं है कि एस्केप अनुक्रम कितना पोर्टेबल ^[[Zहै, इसलिए आप यह देखने के लिए कि क्या $terminfoसही तरीके से बाँधने के लिए सरणी का उपयोग करने का एक तरीका है, यह देखने के लिए आप टर्मोफ़ (5) की जांच कर सकते हैं ।

ध्यान दें कि मॉड्यूल menuselectलोड करने के बाद कीमैप उपलब्ध है zsh/complist। यदि आपने पूर्णता प्रणाली को कॉन्फ़िगर किया है compinstall, तो उस मॉड्यूल को आमतौर पर पहली बार लोड किया जाता है जब आप कुछ पूरा करते हैं। उस बंधन को अपने साथ जोड़ने में सक्षम होने के लिए ~/.zshrc, आपको पहले वहां मॉड्यूल को मैन्युअल रूप से लोड करना होगा:

zmodload zsh/complist

^[[Zहै shift-tabभी तो नहीं के बारे में यह पोर्टेबल नहीं किया जा रहा चिंता अपने कंप्यूटर पर,; धन्यवाद। :)
अलेक्सज मगुरा

1
जब मैं अपनी फाइल zshमें bindkeyलाइन जोड़ने के बाद आह्वान करता हूं, तो मुझे निम्नलिखित त्रुटि मिलती है ~/.zshrc: ~/.zshrc:bindkey:190: no such keymap `menuselect'
एलेक्सज मगुरा

2
वह होगा "${terminfo[kcbt]}"
थॉमस डिकी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.