vi मोड में zsh लेकिन इतिहास खोजने के लिए तीर कुंजियों का उपयोग करना


1

जब vi मोड को zsh के लिए सक्षम किया जाता है ( bindkey -v ) वैसे भी इतिहास को नियमित मोड के अनुसार खोजने के लिए है, अर्थात् कुछ अक्षर टाइप करके और ऊपर / नीचे तीर कुंजी दबाकर?

मुझे भागने से ज्यादा तेज लगता है, फिर ?कुछ अक्षर टाइप करना, फिर एंटर दबाना n मैचों पर स्क्रॉल करने के लिए।

यह भी लगता है कि vi मोड सर्च कमांड में कहीं भी मेल खाता है, मैं केवल कमांड की शुरुआत पर मैच करना चाहता हूं जैसे कि तीर कुंजी के साथ नियमित खोज।

जवाबों:


0

ध्यान दें कि आप यहां विभिन्न खोज विधियों पर चर्चा कर रहे हैं:

के साथ "vi रास्ता" खोजना / या ? इतिहास में संग्रहीत पूरे आदेशों को खोजेगा।

आप जो करना चाहते हैं, उसके ऊपर और नीचे तीर कुंजियाँ कुछ अलग हैं: आप चाहते हैं कि वे इतिहास में संग्रहित वस्तुओं के माध्यम से पुनरावृति करें, जो उस मैच में (उनकी शुरुआत में) जो आपने पहले ही कमांड लाइन पर टाइप किया है।

बहुत अधिक विस्तार में जाने के बिना, इसे प्राप्त करने का एक बिल्कुल मूर्खतापूर्ण तरीका होना चाहिए:

autoload -Uz history-search-end

zle -N history-beginning-search-backward-end history-search-end
zle -N history-beginning-search-forward-end history-search-end

bindkey -M vicmd '^[[A' history-beginning-search-backward-end \
                 '^[OA' history-beginning-search-backward-end \
                 '^[[B' history-beginning-search-forward-end \
                 '^[OB' history-beginning-search-forward-end
bindkey -M viins '^[[A' history-beginning-search-backward-end \
                 '^[OA' history-beginning-search-backward-end \
                 '^[[B' history-beginning-search-forward-end \
                 '^[OB' history-beginning-search-forward-end
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.