2011-12-16 16 views
5

मैंने vim mapppings बनाने के लिए गाइड here का पालन किया। जब मैं ,a= टाइप यह Tabularize बता मेरी लाइनों संरेखित करने के लिए करना चाहिए मेरी .vimrc फ़ाइलमेरा विम मैपिंग क्यों काम नहीं करता है?

let mapleader=',' 
if exists(":Tabularize") 
    nmap <Leader>a= :Tabularize /=<CR> 
    vmap <Leader>a= :Tabularize /=<CR> 
    nmap <Leader>a: :Tabularize /:\zs<CR> 
    vmap <Leader>a: :Tabularize /:\zs<CR> 
endif 

पेज का कहना है में निम्नलिखित रखो। लेकिन इसके बजाय यह कर्सर = चरित्र को सम्मिलित करता है।

मेरे पास टैब्यूलर स्थापित है और :Tabularize कमांड काम करता है जब मैं इसे मैपिंग के बिना कॉल करता हूं।

मैं क्या गलत कर रहा हूं?

उत्तर

12

आपकी .vimrc फ़ाइल प्लगइन लोड होने से पहले पढ़ी जाती है और निष्पादित की जाती है, इसलिए :Tabularize परिभाषित नहीं किया गया है।

सटीक क्रम जिसमें विभिन्न लिपियों स्टार्टअप पर कहा जाता है आप कमांड चला सकते हैं पता लगाने के लिए:

:scriptnames 

और आप के साथ प्रारंभ प्रक्रिया के बारे में विस्तार से जानने के कर सकते हैं:

:help startup 
+2

आह, यह है। अगर कथन को हटा दिया गया तो इसे ठीक कर दिया गया। – fent

+1

मैं अभी भी प्रासंगिक लोडिंग चाहता था, इसलिए मैंने [इस] (http://stackoverflow.com/questions/17688232) का पालन किया और पोस्ट-लोड कॉन्फ़िगरेशन स्क्रिप्ट बनाई। निश्चित रूप से, यह चिंता करने के लिए एक और फाइल है, लेकिन यह सबसे अच्छी जगह की तरह दिखता है। –

0

सुनिश्चित करें कि आप अपना मैपलियर , पर सेट करें। मूल रूप से यह \ पर मैप किया गया है।

पूरा करने के लिए इस आदेश विंडो में अपने vimrc या प्रकार से जोड़ें:

let mapleader="," 

हालांकि अपने कोड से ऐसा लगता है कि आप यह कर रहे हैं, तो आप यह सुनिश्चित करें कि इसे रीसेट नहीं जा सके थे करना है कहीं। यह देखने के लिए कि वर्तमान में कमांड विंडो में let mapleader टाइप करने के लिए सेट किया गया है।

+0

टाइपिंग 'मैपलेडर =' को vim में टाइप करने के लिए मुझे 'E15: अवैध अभिव्यक्ति:'। उत्तर बीटीडब्ल्यू पाया जाता है, बस आपको बताता है। – fent

+0

धन्यवाद DeaDEnD मैंने टाइपो को सही किया। –

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