मैं यह कैसे पता लगा सकता हूं कि <लीडर> किस पर सेट है? और क्या यह संभव है <नेता> को रीमैप करने के लिए?


64

मैं यह कैसे पता लगा सकता हूं कि कौन सी कुंजी मेरे रूप में सेट की गई है <Leader>, और मैं इसे कैसे निकालूं?

जवाबों:


62

अपने डिफ़ॉल्ट रूप से <leader>है \, बैकस्लैश। आप इसे इसके साथ देख सकते हैं:

:echo mapleader

यदि यह आपको देता है E121: Undefined variable: mapleader, तो इसका मतलब है कि यह डिफ़ॉल्ट पर सेट है \। अगर यह आपको कुछ और देता है, तो यह है कि :-)

आप इसे आसानी से हटा सकते हैं। मैंने इसे स्पेस-बार में मैप किया:

:let mapleader = "\<Space>"

ध्यान दें कि mapleaderमानचित्रण को परिभाषित किए जाने के समय के मूल्य का उपयोग किया जाता है। तो यह उदाहरण:

let mapleader = ","
nnoremap <Leader>a :echo "Hey there ,"<CR>

let mapleader = "\<Space>"
nnoremap <Leader>a :echo "Hey there space"<CR>

दो मैपिंग का उत्पादन करेगा : ,aऔर <Space>a

इसका मतलब यह है कि वर्तमान मूल्य mapleaderजरूरी नहीं है कि आपके मैपिंग को परिभाषित करने के लिए इस्तेमाल किया गया था!

इसके अलावा, वहाँ है maplocalleader, जो के रूप में ही है mapleader, सिवाय इसके कि यह द्वारा उपयोग किया जाता है <LocalLeader>और यह वर्तमान बफर के लिए स्थानीय है।

के बारे में अधिक जानकारी <Leader>विम की मदद से पाई जा सकती है :help mapleader


3
हमें बैकस्लैश की आवश्यकता क्यों है "\<Space>"?
थमेरा

10
बैकस्लैश की आवश्यकता है क्योंकि अन्यथा विम एक सामान्य स्ट्रिंग के रूप में "<स्पेस>" को पहचान लेगा और स्पेस कुंजी के लिए कोड नहीं होगा। :help expr-stringउदाहरण के लिए देखें ।
टोकेयामी

1
बस एक नोट: उदाहरण के लिए अंतरिक्ष की let mapleader = ' 'स्थापना के <Leader>लिए भी काम करता है। यदि इस वाक्यविन्यास का उपयोग करके कोई भी संभावित दुष्प्रभाव होते हैं, तो उनका उल्लेख करने के लिए स्वतंत्र महसूस करें।
डैनियल एंडरसन

ऐसा प्रतीत होता है कि यह maplocalleaderडिफ़ॉल्ट रूप से बैकस्लैश पर भी सेट है। शायद इसका मतलब यह था कि "जैसा है, वैसा ही है mapleader, लेकिन मुझे पहले यकीन नहीं था।
मंगल

मैं let mapleader = ","इस तथ्य के बाद कैसे पूर्ववत कर सकता हूं ? मैंने कोशिश की unlet mapleaderहै और साथ ही let mapleader = "\", लेकिन यह काम नहीं करता। मुझे इसकी आवश्यकता है क्योंकि मैं इस बंडल github.com/amix/vimrc का उपयोग कर रहा हूं जहां यह मेरी अपनी अलग कॉन्फ़िगरेशन फ़ाइल होने का सुझाव देता है। बंडल को अल्पविराम में मैप करता है इसलिए मैं इसे अपनी अलग कॉन्फिग फाइल में पूर्ववत करना चाहता हूं।
माइकल

8

आप इस तरह वर्तमान नेता कुंजी प्रदर्शित कर सकते हैं :let mapleader


4
यह कोशिश करते हुए, मुझे मिलता है E121: Undefined variable: mapleader
प्रिक्सोलिटिक

तब किसी कारण के लिए मानचित्रकार सेट नहीं किया गया था या परेशान नहीं हुआ था
craigp

5
ओह! समझ गया। बस दूसरों के लिए एक नोट, अगर आप स्पष्ट रूप से नेता कुंजी सेट नहीं करते हैं, तो आपको ऊपर त्रुटि मिलती है।
प्रिक्सोलिटिक

यदि आप प्राप्त करते हैं E121: Undefined variable: mapleader, तो इसका मतलब है कि यह सेट नहीं किया गया था, जो कि डिफ़ॉल्ट का उपयोग करेगा, जो कि एक बैकस्लैश है"\"
वारबैंक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.