2015-06-05 6 views
5

जब मैं टर्मिनल में टाइप करना शुरू करता हूं तो मैं एक फ़ंक्शन चलाने के लिए चाहता हूं।बैश/zsh में पहली कीस्ट्रोक पर फ़ंक्शन कैसे चलाएं?

विशेष रूप से मैं fzf फ़ंक्शन चलाने के लिए चाहता हूं, जिसके लिए मुझे वर्तमान में ctrl-r को ट्रिगर करने के लिए प्रेस करने की आवश्यकता है। मुझे any keystroke to trigger it चाहिए, इसलिए जब मैं टाइप करता हूं तो इतिहास हमेशा प्रकट होता है।

Only the first keystroke फ़ंक्शन को चलाया जाना चाहिए, क्योंकि इसे पथ और फ़ाइल नाम चयन के बीच कई बार टॉगल चलाना चाहिए।

+0

दिलचस्प। विचार: ['बाइंड'] (http://stackoverflow.com/questions/4200800) शायद काम नहीं करेगा, क्योंकि मुझे नहीं लगता कि आप" पहली कीस्ट्रोक केवल "आवश्यकता को पूरा कर सकते हैं। एक उच्च गति के साथ एक अशुद्ध कमांड लाइन [पढ़ें लूप] (http://stackoverflow.com/questions/11596059) काम कर सकता है। [कच्चे मोड] में टर्मिनल का उपयोग करना (http://unix.stackexchange.com/questions/18334/) या [bash स्रोत कोड] को संशोधित करना (http://git.savannah.gnu.org/cgit/bash.git) शायद सबसे अधिक संभावनाएं हैं। इसके अलावा, fzf के बजाय [selector] (http://www.idiap.ch/~fleuret/software.html#selector) पर विचार करें। – bishop

उत्तर

1

मैंने Up और Down तीर कुंजियों को history-search-backward और history-search-forward पर क्रमशः बाध्य किया है। तो जब मैं कुछ टाइप करता हूं और फिर Up या Down दबाता हूं, तो यह टाइप किए गए अक्षरों से शुरू होने वाली इतिहास खोज करता है। यह मेरे लिए काम करता है क्योंकि मैं दर्ज प्रत्येक आदेश के लिए इतिहास खोज नहीं करना चाहता हूं।

मुझे पता है कि यह वही नहीं है जो आप खोज रहे हैं, लेकिन यह करीब है।

# Bind up and down arrows to do backward and forward history search 
if [[ $- == *i* ]] 
then 
    bind '"\e[A": history-search-backward' 
    bind '"\e[B": history-search-forward' 
fi 
+0

वैकल्पिक के लिए धन्यवाद, लेकिन मुझे लगता है कि मैं अभी भी तीर कुंजी पर ctrl-r का उपयोग करना पसंद करता हूं। –

+0

निश्चित रूप से। इसका एक फायदा यह है कि आप कुछ पत्र टाइप करने के बाद इतिहास के माध्यम से खोज सकते हैं। कुछ भी टाइप करने से पहले 'Ctrl-r' को निकाल दिया जाना चाहिए। लेकिन हाँ, अलग-अलग लोगों के लिए अलग-अलग स्ट्रोक। – ronakg

+0

असंबद्ध, लेकिन मैं ऊपर और नीचे तीर के लिए 'अप-लाइन-या-सर्च' और 'डाउन-लाइन-या-सर्च' पसंद करता हूं। डिफ़ॉल्ट पर (बफर में पहले शब्द से शुरू होने वाली रेखा के लिए इतिहास में पीछे की ओर/आगे की खोज के लिए इसका अतिरिक्त लाभ है) (इतिहास-खोज-पिछड़ा 'के समान) और मैं' इतिहास-वृद्धि-खोज 'का उपयोग करता हूं 'सीआर' और' सीएस 'के लिए' बैकवर्ड 'और' इतिहास-वृद्धिशील-खोज-अग्रेषण '। – 4ae1e1

संबंधित मुद्दे