ओह-माय-ज़श इतिहास पूरा होना


45

मैंने हाल ही में zsh पर स्विच किया है, robbyrussell काoh-my-zsh उपयोग करके । इससे पहले कि मैं बहुत सारे कस्टम सामान के साथ बैश करता था और मुझे केवल एक चीज़ याद आ रही है क्योंकि zsh 'बहुत स्मार्ट' होने की कोशिश कर रहा है:

यदि मैं टाइप करता हूं git commitऔर फिर zsh सभी हालिया gitकमांड से गुजरता है । हालांकि मैं वास्तव में क्या चाहता हूं, सभी आदेशों से गुजर रहा है जो git commit(केवल नहीं git) से शुरू होते हैं ।

मैं (ओह-मेरी-) zsh में यह व्यवहार कैसे प्राप्त कर सकता हूं?


अजीब बात है, मैं OMZSH का उपयोग करता हूं और यह इस तरह का व्यवहार करता है। क्या आपके zshrc में 'plugins = (git)' है?
क्रिस 2048

हां, मैं करता हूं, लेकिन यह केवल गिट के लिए नहीं है, सभी कमांड इस तरह से पूरी होती हैं।
पैट्रिक ऑस्सिटी

उबंटू पर देखें superuser.com/a/1490192/131522
mixel

जवाबों:


66

मैंने अपनी समस्या का समाधान ZSH प्रलेखन में पाया है । ओह-माई-ज़श लगता है कि कुछ करने के लिए और कुंजी मैप करने के लिए

bindkey '\e[A' history-search-backward
bindkey '\e[B' history-search-forward

मेरे द्वारा बताए गए सटीक व्यवहार की पैदावार। ZSH प्रलेखन के रूप में व्यवहार का वर्णन history-search-backwardकरता है

बफर में पहले शब्द से शुरू होने वाली रेखा के लिए इतिहास में पीछे की ओर खोजें ।



मैं इसके बजाय निम्नलिखित मानचित्रण चाहता था, जिसे मैंने अपने में डाला ~/.zshrc:

bindkey '\e[A' history-beginning-search-backward
bindkey '\e[B' history-beginning-search-forward

history-beginning-search-backwardनिम्नानुसार व्यवहार है:

कर्सर के लिए वर्तमान लाइन के साथ शुरू होने वाली रेखा के लिए इतिहास में आगे खोजें । यह कर्सर को उसकी मूल स्थिति में छोड़ देता है।

इसके अलावा, यदि \e[Aऊपर या नीचे तीर के लिए काम नहीं करता है , तो <ctrl-v><KEY (e.g., up arrow)>दूसरे टर्मिनल में दबाएं जो देता है ^[OA। तब आप इसके बजाय इसका उपयोग कर सकते हैं \e[A। प्रक्रिया यहां वर्णित है: http://zshwiki.org/home/zle/bindkeys


1
धन्यवाद धन्यवाद धन्यवाद!! मैं इस पर पागल हो रहा था
mhenrixon

मेरे जैसे गैर-ओएमजेड उपयोगकर्ता के लिए: bindkeyबग के कारण कुछ भी वास्तविक नहीं होता है, इसलिए ओएमजेड टीम ने इसे इस प्लगइन के साथ पैच किया । बस इसे डाउनलोड करें और पहले इसे स्रोत करें bindkey
फ्रैंकलिन यू

@FranklinYu आपको लगता है कि कुल बी एस, सही है? यह प्लगइन कुछ घटनाओं को पकड़ने के लिए USE को छोड़कर सिवाय bindkey के साथ कुछ भी नहीं करता है।
nonchip

वाह, यह एकदम सही है!
गिलहरी

12

मैं oh-my-zshस्थापित और पाया प्लगइन के साथ zsh के लिए समान व्यवहार चाहता था history-substring-search

मैंने अपने द्वारा प्लगइन को जोड़कर ऊपर वर्णित समान व्यवहार को प्राप्त किया ~/.zshrc:

plugins=(git brew npm history-substring-search)

मुझे लगता है कि इस सवाल के उठने पर यह प्लगइन वापस मौजूद नहीं था। बस उसी चीज को हासिल करने का एक वैकल्पिक तरीका है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.