एस्केप, zsh के लिए प्रमुख अनुक्रम बाँधें


11

मैं कैसे नक्शा होगा jjकरने के लिए Esczsh में?

मैं एक की-मैपिंग को फिर से बनाने की कोशिश कर रहा हूं, जिसमें मेरे पास सेटअप है, जहां मैंने jjमैप किया है ESCताकि जब भी मैं डबल-प्रेस करूं j, यह एक <Esc>वीम को भेजता है - मुझे अधिक सुविधा के साथ सामान्य मोड में प्रवेश करने की अनुमति देता है।

मैंने पहले ही कोशिश की है bindkey 'jj' ^[, और मैं कोशिश करने वाला हूं bindkey 'jj' ^[[, लेकिन मुझे संदेह है कि यह काम करेगा। मैंने सामान्य मोड में zsh द्वारा प्रदान किए गए आदेशों की सूची भी जांची, लेकिन मुझे ऐसा कुछ भी नहीं दिखाई दिया जिसमें निहित हो normalया escape

नोट मेरी में पात्रों फ़ाइल वास्तविक हार्ड कोडित पलायन कर रहे हैं; सिर्फ पात्र और नहीं ।
^[~/.zshrc^[

जवाबों:


12

आपको -sविगेट्स के बजाय वास्तविक स्ट्रिंग्स को बांधने की आवश्यकता है:

bindkey -s jj '\e'

आप शायद मैप करना चाहते हैं हालांकि jjकरने के लिए vi-cmd-modeविजेट यहाँ:

bindkey jj vi-cmd-mode

(ध्यान दें कि इंसर्ट मोड में बाइंडिंग के लिए, नॉर्मल / कमांड मोड में)


1
दूसरा एक आकर्षण की तरह काम करता है, धन्यवाद!
अलेक्सेज मगुरा

2
नोट सेटिंग KEYTIMEOUTकुंजी-बंधन को तोड़ने के लिए लगता है।
अलेक्सज मगुरा

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