2011-12-17 11 views
8

आम तौर पर कुंजी बाइंडिंग ओवरलैपिंग को डिबग और हल करने के लिए कैसे? मुझे यह समस्या थी .. हाल ही में मैं अपने विम डीआईआर में vim-latex प्लगइन जोड़ता हूं। उसके बाद मैंने देखा कि मेरा ctrl-j बाइंड विम-लेटेक्स/प्लगइन/imaps.vim द्वारा ओवरलैप किया गया है और हल होने तक बहुत समय खो गया है।विम मैपिंग ओवरलैप डीबग कैसे करें?

वैसे: imaps.vim में एक बग है, मुझे लगता है, क्योंकि लिखा है "नक्शा केवल तभी होता है जब कोई मैपिंग पहले से नहीं है" और मेरा उदाहरण विपरीत दिखाता है।

उत्तर

19

आप :map आदेश से सुक्ष्म जानकारी प्राप्त कर सकते हैं:

एक विशेष कुंजी के लिए प्रासंगिक (इस मामले ctrl-जम्मू में) केवल मैपिंग दिखाने के लिए:

:map <c-j> 

या, बेहतर, करने के लिए विशेष कुंजी के लिए शो मैपिंग के साथ-साथ स्क्रिप्ट जहां मानचित्रण स्थापित किया गया था:

:verbose map <c-j> 
+0

विशेष रूप से 'वर्बोज़' के साथ उपयोगी है। धन्यवाद। – xliiv

1
:map 

आपके वर्तमान मानचित्रों की एक सूची दिखाता है।

9

यह अन्य लोगों के जवाब के अलावा, नहीं जवाब ही है।

वैसे: वहाँ imaps.vim में एक बग मुझे लगता है कि, क्योंकि वहाँ लिखा है "केवल नक्शा अगर कोई मानचित्रण पहले से ही है" और मेरे उदाहरण विपरीत चलता है।

आप गलत तरीके से «मैपिंग» का अर्थ समझ रहे हैं। यदि आप imaps.vim के कोड पर नज़र डालते हैं तो आप देखेंगे कि <Plug>IMAP_JumpForward ({rhs}) पर मैपिंग होने पर यह मैपिंग नहीं बनाएगा, न कि <C-j> मैपिंग ({lhs}) है। इस प्रकार आप क्रम में

nnoremap <SID>I_won’t_ever_type_this <Plug>IMAP_JumpForward 

का उपयोग करना चाहिए <C-j> remapping निष्क्रिय करने के लिए यदि आप इसे (बेशक आप आप इस कार्यक्षमता का उपयोग करना चाहते हैं, तो अधिक सार्थक कुछ के साथ <SID>... भाग की जगह सकता है) की जरूरत नहीं है।

+0

आप सही हैं, यह मुझे बहुत कुछ बताता है, धन्यवाद। – xliiv

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