खोज…


परिचय

विम कुंजी मैपिंग को अपडेट करने से आपको दो प्रकार की समस्याओं को हल करने की अनुमति मिलती है: कुंजी को उन अक्षरों को फिर से असाइन करना जो अधिक यादगार या पहुंच योग्य हों, और उन कार्यों के लिए मुख्य कमांड बनाना जो किसी के पास नहीं हैं। यहाँ आप विभिन्न तरीकों के बारे में जानेंगे [फिर से] मुख्य कमांड मैप करें, और जिस संदर्भ में वे लागू होते हैं (यानी विम मोड)

बुनियादी मानचित्रण

नक्शा अवलोकन

एक महत्वपूर्ण अनुक्रम को map वेरिएंट में से एक का उपयोग करके दूसरे प्रमुख अनुक्रम में फिर से मैप किया जा सकता है।

उदाहरण के रूप में, निम्न विशिष्ट map सम्मिलित मोड से बाहर निकल जाएगा जब आप त्वरित क्रम में j k दबाते हैं:

:inoremap jk <Esc>

मानचित्र संचालक

इसके कई प्रकार हैं :map विभिन्न मोड के लिए :map

आदेश मोड
:map :noremap :unmap सामान्य, दृश्य और ऑपरेटर-लंबित मोड
:map! :noremap! :unmap! इन्सर्ट और कमांड-लाइन मोड
:nmap , :nnoremap , :nunmap सामान्य स्थिति
:imap :inoremap :iunmap सम्मिलित करें और बदलें मोड
:vmap :vnoremap :vunmap दृश्य और चयन मोड
:xmap :xnoremap :xunmap दृश्य विधा
:smap :snoremap :sunmap मोड का चयन करें
:cmap :cnoremap :cunmap कमांड-लाइन मोड
:omap :onoremap :ounmap ऑपरेटर लंबित मोड

आमतौर पर, आपको इसका उपयोग करना चाहिए :noremap वेरिएंट ; यह मानचित्रण प्रतिरक्षा को पुनरावृत्ति और पुनरावृत्ति बनाता है।

नक्शा कमान

  • आप सभी मैपिंग का उपयोग करके प्रदर्शित कर सकते हैं :map (या उपरोक्त विविधता में से एक)।
  • किसी विशिष्ट कुंजी अनुक्रम के लिए वर्तमान मानचित्रण प्रदर्शित करने के लिए, उपयोग करें :map <key> जहां <key > <key का अनुक्रम है
  • Esc की तरह स्पेशल कीज़ को <> संकेतन, जैसे <Esc> का उपयोग करके मैप किया जाता है। प्रमुख कोड की पूरी सूची के लिए, http://vimdoc.sourceforge.net/htmldoc/intro.html#keyode देखें
  • :nmapclear - सभी सामान्य मोड मानचित्र को साफ़ करें
  • :nunmap - एक सामान्य मोड मैप को अनमैप करें
  • आप को बदलने के द्वारा एक दृश्य की चाबी के बीच अधिक से अधिक समय कॉन्फ़िगर कर सकते हैं timeout और ttimeout चर

उदाहरण

  • imap jk <Esc> : इन्सर्ट मोड में टाइपिंग jk आपको सामान्य मोड में वापस लाएगा
  • nnoremap tt :tabnew<CR> : सामान्य मोड में tt टाइप करने पर एक नया टैब पेज खुलेगा
  • nnoremap <Cj> <Cw>j : टाइप करना <Cj>
  • vmap <Cc> \cc : दृश्य मोड में <Cc> vmap <Cc> \cc टाइप करने से \cc (NERDCommenter कमांड लाइन पर टिप्पणी करने के लिए) निष्पादित हो जाएगी। जैसा कि यह एक प्लगइन मानचित्रण पर निर्भर करता है, आप उपयोग नहीं कर सकते हैं :vnoremap यहाँ :vnoremap !

यहाँ पढ़ रहे हैं

नक्शा नेता कुंजी संयोजन

लीडर कुंजी को एक कुंजी-बाइंडिंग के साथ मैपिंग बनाने के तरीके के रूप में इस्तेमाल किया जा सकता है जिसे अंतिम उपयोगकर्ता द्वारा ओवरराइड किया जा सकता है।

लीडर डिफ़ॉल्ट रूप से \ key है। इसे ओवरराइड करने के लिए, एंड-यूज़र को निष्पादित करना होगा :let g:mapleader='somekey(s)' मैपिंग को परिभाषित करने से पहले :let g:mapleader='somekey(s)'

एक विशिष्ट परिदृश्य में, मैपवॉल्डर को .vimrc में सेट किया गया है, और प्लगइन्स उनके लीडिंग को बदलने के लिए उनके मैपिंग के कीबाइंडिंग भाग में <Leader> उपयोग करते हैं।

प्लगइन में, हम निम्न के साथ मैपिंग को परिभाषित करेंगे:

:nnoremap <Leader>a somecomplexaction

यह एक महत्वपूर्ण संयोजन \ + के लिए somecomplexaction कार्रवाई को मैप करेगा।

नेता के बिना एक कार्रवाई नहीं बदलती है।

प्लगइन्स कीबाइंडिंग को अनुकूलित करने के लिए अधिक जगह छोड़ने के लिए <Plug>Mappings का उपयोग करना भी संभव है।

बुनियादी मानचित्रण (आसान शॉर्टकट) का चित्रण।

अधिकांश पाठ संपादकों में, वर्तमान दस्तावेज़ को सहेजने के लिए मानक शॉर्टकट Ctrl + S (या macOS पर Cmd + S ) है।

विम में यह सुविधा डिफ़ॉल्ट रूप से नहीं है, लेकिन इससे चीजों को आसान बनाने के लिए मैप किया जा सकता है। .vimrc फ़ाइल में निम्न पंक्तियाँ जोड़ने से काम चल जाएगा।

nnoremap <c-s> :w<CR>
inoremap <c-s> <c-o>:w<CR>

nnoremap कमांड Ctrl + s से :w (फ़ाइल में वर्तमान सामग्री लिखने के लिए) आदेश को inoremap जबकि inoremap कमांड Ctrl + S :w कमांड को मैप करता है और इन्सर्ट मोड में वापस लौटता है ( <co> एक कमांड के लिए सामान्य मोड में जाता है कर्सर की स्थिति में बदलाव किए बिना, बाद में मोड डालने के लिए रिटर्न देता है, जो अन्य समाधान जैसे <esc>:w<cr>a यह सुनिश्चित नहीं कर सकता है)।

इसी तरह,

" This is commented, as Ctrl+Z is used in terminal emulators to suspend the ongoing program/process.
" nnoremap <c-z> :u<CR>

" Thus, Ctrl+Z can be used in Insert mode
inoremap <c-z> <c-o>:u<CR>

" Enable Ctrl+C for copying selected text in Visual mode
vnoremap <c-c> <c-o>:y<CR>

PS: हालाँकि यह ध्यान दिया जाना चाहिए कि ssh (या PuTTY) का उपयोग करते समय Ctrl + S अपेक्षित रूप से काम नहीं कर सकता है। इसका समाधान इस दस्तावेज़ के दायरे में नहीं है, लेकिन यहां पाया जा सकता है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow