2012-10-07 11 views
9

vim-ruby-debugger इंस्टॉल करने के बाद जो कई मैपिंग "हाइजैक" प्लगइन करता है। <leader>n, या <leader>t जैसा कि मैं क्रमशः NERDTreeToggle और कमांड-टी खोजने के लिए उपयोग करता हूं।प्लगइन से रीमेपिंग ओवरराइड करना?

अपराधी hardcoded mappings in this ruby-debugger पर पाया गया है।

मैं इन्हें <leader>rdX के रूप में रीमेप्ड करना पसंद करूंगा, यानी * * * * * * * * * * * के साथ prefixed। जाहिर है, मैं बस प्लगइन हैक कर सकता हूं और वहां मैपिंग बदल सकता हूं। लेकिन यह थोड़ा सा हैकिश लगता है (और शायद अपडेट पर तोड़ देगा)।

मैं इन मैपिंग्स को कैसे अनैप कर सकता हूं, तो फिर से मेरे अपने मैपिंग में वापसी होगी? और इसलिए कि मैं अपने .vimrc में आदेशों को रीमेप कर सकता हूं (जहां यह होना चाहिए, IMHO)।

+0

गिट का उपयोग करें, 'गिट पुल' आपके परिवर्तनों को बदले में विलय करने की अनुमति नहीं देगा। – ZyX

+2

बेहतर, कांटा GitHub पर इस भंडार, मैपिंग अनुकूलित करने के लिए एक संभावना 'निष्पादित करने के लिए 'nnoremap' जोड़ें (यह' बदलते noremap ख से यह करने के लिए तेजी से होता है ... '(छ :, 'ruby_debugger_map_toggle_breakpoint', ' बी' प्राप्त) '...' ') और फिर पुल अनुरोध करें। सुझाए गए परिवर्तन मैपिंग के साथ 'g: ruby_debugger_map_toggle_breakpoint' चर का उपयोग करके अनुकूलित किया जाएगा। – ZyX

+2

दूसरा समाधान कुछ प्रकार के वर्कअराउंड का उपयोग करके बेहतर होता है (जैसे कि आपके मैपिंग को जो ~ ~/.vim/after/plugin/mappings.vim' पर ओवरराइड नहीं किया जाना चाहिए, पहले सुझाए गए समाधान या मेरे कुछ प्रकार के [ map.maparg'] (https://bitbucket.org/ZyX_I/frawor/src/a09e101e4a9a55e1bbbf6602a1ef2c4fcd839631/doc/frawor.txt#cl-731) उसी ~ ~/.vim/after/plugin/mappings.vim' निर्देशिका में सहेजने के लिए और फिर 'map.map' को फिर से मैप करने के लिए, लेकिन' rd * 'पर, अपने NerdTree प्लगइन के लिए सामान्य' noremap' कमांड के साथ)। मेरा मानना ​​है कि आप एकमात्र व्यक्ति नहीं हैं जो मैपिंग को कस्टमाइज़ करने की क्षमता की आवश्यकता है। – ZyX

उत्तर

6

सबसे पहले, मैं ज़ीएक्स की टिप्पणियों से सहमत हूं कि यह प्लगइन में एक समस्या है जिसे ठीक किया जाना चाहिए। कृपया अनुकूलन प्रदान करने के लिए प्लगइन लेखक से पूछें।

अनैप करने का कोई आसान तरीका नहीं है, क्योंकि मैप को मैपिंग ओवरराइड होने पर मूल मैपिंग याद नहीं है। आपको मूल मैपिंग्स (:map ...) को अपमानजनक प्लगइन अस्थायी रूप से अक्षम कर दिया गया है, या उनकी परिभाषाओं के लिए विम स्क्रिप्ट में देखें), फिर उन्हें के बाद फिर से निष्पादित करें अपमानजनक प्लगइन लोड किया गया है (किसी भी <unique> झंडे को घटाएं हो सकता है, क्योंकि इससे पुनः निष्पादन पर त्रुटियां पैदा होंगी)। यह .vimrc में नहीं किया जा सकता है, इसे पहले सोर्स किया जाता है; मैं इसके लिए ~/.vim/after/plugin/zzzmappings.vim जैसी जगह की सिफारिश करूंगा।

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