2013-02-27 18 views
5

मैं सामान्य मोड से विम डालने के लिए अपनी स्पेस कुंजी मैप करने की कोशिश कर रहा हूं।मानचित्र स्थान कुंजी डालने मोड में जाने के लिए

कारण मैं ऐसा करना चाहता हूं क्योंकि कभी-कभी मैं भूल जाता हूं कि मैं सामान्य मोड में हूं और लिखना शुरू करता हूं जैसे कि मैं सम्मिलित मोड में हूं। जब मैं पृष्ठ की शुरुआत में या यहां तक ​​कि स्पेस कुंजी दबाता हूं, तो मैंने जो कुछ लिखा है उसमें a या i दबाए जाने की संभावना के कारण यह कुछ और अन्य प्रकार नीचे चला जाता है।

तो इससे बचने के लिए मैं सामान्य मोड से मोड डालने के लिए अपनी स्पेस कुंजी को मैप करना चाहता हूं क्योंकि हम ऐसा करने के लिए i दबाते हैं।

मैंने कोशिश की है:

map space :i 
map <space> :i 

लेकिन इन नहीं करता है लगता है काम करने के लिए।

उत्तर

8

आप अपने मैपिंग में मोड अप मिश्रण कर रहे हैं; यह विम में एक महत्वपूर्ण अवधारणा है। हालांकि वहाँ विम (जहां आपकी मानचित्रण वास्तव में एक : के साथ शुरू होता है) में एक :startinsert पूर्व आदेश, इसका इस्तेमाल करने के और अधिक सरल है सामान्य मोडi आदेश:

:nnoremap <Space> i 

आप केवल यहाँ एक सामान्य मोड मानचित्रण चाहते , इसलिए :nmap, :map नहीं; cp। :help map-modes। और देखें क्योंकि यह <Space> क्यों लिखा गया है।

अंत में: You should always use :noremap; यह मैपिंग प्रतिरक्षा रीमेपिंग और रिकर्सन करने के लिए बनाता है।

6

अजीब आवश्यकता है, लेकिन, आपके पास आपका कारण है। :)

इस लाइन आजमा कर देखें:

nnoremap <space> i 
+0

यह अजीब है, लेकिन ['' "सामान्य" 'सामान्य 'मैपिंग] (http://vimdoc.sourceforge.net/htmldoc/motion.html# ) बिल्कुल वही है [' l' है] (http://vimdoc.sourceforge.net/htmldoc/motion.html#l), इसलिए कम से कम आप वास्तव में किसी भी मानक कार्यक्षमता को अवरुद्ध नहीं कर रहे हैं। मैंने बहुत बुरा देखा है :) – Johnsyweb

+0

@Kent: :) धन्यवाद। –

+0

@ जॉन: धन्यवाद :) मैं निश्चित रूप से इसके बारे में सोचूंगा, अगर अंतरिक्ष , कोई समस्या पैदा करेगा। –

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