क्या मैं वीआईएम में मैप के रूप में स्पेस का उपयोग कर सकता हूं?


84

से http://items.sjbach.com/319/configuring-vim-right मुझे मिल गया है कि आप का उपयोग कर सकेंगे करने वाले थे Spacevim में mapleader के रूप में। मैंने कोशिश की है, लेकिन यह काम नहीं करता है। जिसने भी यह काम किया है?

कोशिश की:

let mapleader = <space>

7
बहुत बढ़िया! बस उसी ब्लॉग पोस्ट को पढ़ें और <SPACE> की कोशिश करने के बाद यह पाया ... मैंने पाया कि MacVim में इसने स्पेसबार से "एक वर्ण को आगे बढ़ाना" की मैपिंग को नहीं हटाया, इसलिए अन्य लोगों के लिए जो इसे Google से खोजते हैं - जोड़ें "nnoremap <SPACE> <Nop>" से पहले "मैपलाइडर ..." यह मेरे लिए काम करता है।
मचिअकिग

जवाबों:


100

इसके बजाय निम्नलिखित प्रयास करें:

let mapleader=" "

और याद रखें कि इससे पहले निम्नलिखित पंक्ति लिखना सुनिश्चित करें कि स्पेसबार को पहले से कोई मैपिंग नहीं करनी है:

nnoremap <SPACE> <Nop>

19
जैसा कि ऊपर दिए गए प्रश्न में spacemanaki की टिप्पणियों nnoremap <SPACE> <Nop>को यह काम करने के लिए आवश्यक था।
साशा

1
@ साशा: सच में? क्या आप बता सकते हैं कि क्यों, और यदि यह वास्तव में है, तो शायद आपको प्रश्न को संपादित करना चाहिए।
greg0ire

4
साशा की मैपिंग के बिना, <स्पेस> दबाने पर अन्य कुंजियों की तरह मैपलर के साथ व्यवहार नहीं होगा। सामान्य स्थान में <space> को मैप किया जाता है <right>। बस एक पंक्ति में कई बार <space> दबाएं और आपको अवांछित व्यवहार दिखाई देगा, जिसे ठीक किया जा सकता है nnoremap <Space> <nop>
फ्रीओ

3
इस उत्तर में जोड़ने के लिए, ध्यान दें कि मूल्य निर्धारित mapleaderहोने के बाद होने वाली मैपिंग को प्रभावित करता है mapleader। देखते हैं :help leader
ईवू

मुझे आर सी फाइल को सेव और क्लोज करना था। मैं उपयोग कर रहा था :source %लेकिन स्पेस रीमैप काम नहीं कर रहा था।
जोनाथन मोरालेस वेलेज़

67

मैपलीडर एक विम स्ट्रिंग वैरिएबल है। नेता के रूप में स्थान का उपयोग करने के लिए, आपको विशेष चरित्र से बचना चाहिए।

let mapleader = "\<Space>"

अधिक जानकारी के लिए देखें,

http://vimdoc.sourceforge.net/htmldoc/eval.html#expr-quote

संपादित करें:

यह अब मेरे विम के संस्करण में मेरे लिए काम नहीं करता है। यहां तक ​​कि अंतरिक्ष में सामान्य मोड में स्पेसबार को अनमैप करने की टिप्पणियों में सुझाव के साथ nnoremap <SPACE> <Nop>

मैं नीचे दिए गए उत्तर में दिए गए समाधान के साथ जा रहा हूं।

map <Space> <Leader>

1
इसके अलावा, सुनिश्चित करें कि आप दोहरे उद्धरण चिह्नों का उपयोग करते हैं "\<Space>"और नहीं '\<Space>'
क्रुणाल

1
मुझे यह उत्तर पसंद है।
सांग Sangng

let mapleader = "\<Space>"मेरे लिए nvim में काम किया, लेकिन vim में नहीं। map <Space> <Leader>मेरे लिए भी काम नहीं करता है।
गुंटर ज़ोचबॉयर

noremap <Space> <Nop> map <Space> <Leader>काम में लिया
गुंटर Zöchbauer

मुझे काम करने के लिए अपने आस-पास की जगह को हटाना पड़ा =, नवविराम पर।
निखिल सीएसबी

18

उपरोक्त समाधान महान हैं, हालांकि, नीचे दाएं कमांड कोने में कुछ भी नहीं दिखता है। यदि आपके पास \वैसे भी कुंजी के लिए कोई उपयोग नहीं है, तो उपयोग करने का प्रयास करें map <SPACE> <leader>और \कमांड कॉर्नर में दिखाई देगा। वह और आपको पहले स्थान खाली करने की आवश्यकता नहीं है, जैसा कि ऊपर दिए गए सुझावों में बताया गया है।


3
इससे NERD टिप्पणीकार टूट जाता है। और कम से कम Vim 8 और Neovim स्पेस में ऐसा दिखता है जैसे <20>कि showcmdमैं चालू हूं, इसलिए मुझे लगता है कि नए पर्याप्त Vim के साथ यह उत्तर अप्रचलित है।
14:

मैं सिर्फ यहां जोड़ना चाहता हूं कि यह भी सबसे अच्छा समाधान है यदि आपने पहले से ही डिफ़ॉल्ट लीडर के लिए मांसपेशियों की मेमोरी विकसित कर ली है, लेकिन बेहतर दक्षता के लिए जगह का उपयोग करना शुरू करना चाहते हैं। "आर" को अभी भी नर्ड ट्री खोलने और कैस्कोप का उपयोग करने के लिए मेरी मांसपेशी मेमोरी में वायर्ड किया गया है, इसलिए यह अच्छा है कि यह तब भी काम करता है जब नेता के लिए स्थान मैपिंग करता है (मुझे बेवकूफ टिप्पणी का उपयोग करने की आवश्यकता नहीं है, हालांकि)।
DrEsperanto
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.