विभाजन से निपटने के लिए, मैं सबमोड-प्लगइन का उपयोग करता हूं जो वास्तव में बहुत सुविधाजनक है: यह आपको एक नया मोड ("मोड" बनाने की अनुमति देता है जैसे सामान्य मोड, विजुअल मोड, इन्सर्ट मोड, आदि ...) जहां आप नए कुंजी बाइंडिंग को परिभाषित करते हैं। ।
इसके साथ आपको कोई उपयोग Ctrl+wनहीं करना पड़ता है और जैसा कि आप एक नई मोड में हैं, सभी कुंजियाँ बाइंड करने के लिए स्वतंत्र हैं: कोई और अधिक समस्या जैसे "लानत नहीं है कि मैं एक महत्वपूर्ण संयोजन नहीं पा सकता हूं जो एक संकेत के रूप में और अभी तक मैप नहीं किया गया है "
आप किसी भी नियमित प्लगइन प्रबंधक के साथ प्लगइन स्थापित कर सकते हैं, और यहां आपको कुछ प्रेरणा देने के लिए मेरे कुछ कॉन्फ़िगरेशन हैं:
मैंने एक नया मोड बनाया जिसे मैंने कॉल WindowsMode
किया जिसमें मैंने अपने विभाजन को हेरफेर किया:
call submode#enter_with('WindowsMode', 'n', '', '<Leader>k', ':echo "windows mode"<CR>')
call submode#leave_with('WindowsMode', 'n', '', '<Leader>')
इन पंक्तियों का अर्थ है कि मैं मोड में प्रवेश करता हूं Leaderkऔर मैं इस मोड से बाहर निकलता हूं Leader: मेरे द्वारा हिट की गई Leaderkसभी कुंजियों को मारने के बाद :
- कुछ न करें अगर मैंने इस मोड में उनके लिए मैपिंग को परिभाषित नहीं किया है
- मैंने उन्हें इस मोड में मैप करने का फैसला किया (शेष उत्तर देखें)
- अगर मैं मारा तो वापस सामान्य मोड पर जाऊंगा Leader
एक बार जब मैं WindowsMode
इन पंक्तियों में हूँ hjklजैसे विभाजन के माध्यम से नेविगेट करेंCtrl+whjkl
" Change of windows with hjkl
call submode#map('WindowsMode', 'n', '', 'j', '<C-w>j')
call submode#map('WindowsMode', 'n', '', 'k', '<C-w>k')
call submode#map('WindowsMode', 'n', '', 'h', '<C-w>h')
call submode#map('WindowsMode', 'n', '', 'l', '<C-w>l')
मैंने इन पंक्तियों का उपयोग खिड़कियों को विभाजित करने के लिए किया है /और !:
" split windows with / and !
call submode#map('WindowsMode', 'n', '', '/', '<C-w>s')
call submode#map('WindowsMode', 'n', '', '!', '<C-w>v')
और qएक विभाजन को बंद करें:
call submode#map('WindowsMode', 'n', '', 'q', '<C-w>c')
विभाजन को साथ ले जाएं Ctrlhjkl:
call submode#map('WindowsMode', 'n', '', '<C-j>', '<C-w>J')
call submode#map('WindowsMode', 'n', '', '<C-k>', '<C-w>K')
call submode#map('WindowsMode', 'n', '', '<C-h>', '<C-w>H')
call submode#map('WindowsMode', 'n', '', '<C-l>', '<C-w>L')
विम-सबमोड कई शक्तिशाली चीजों को करने की अनुमति देता है, अधिक विवरण के लिए डॉक्टर को देखें।
EDIT विंडो सबमोड का एक और तरीका यहां वर्णित है । मुझे लगता है कि लेखक द्वारा उपयोग की गई विधि इस सवाल का जवाब देने के लिए और भी करीब है: यहां एक नया मोड बनाने के लिए उपयोग किया जाता है, लेकिन सभी <c-w>something
मैपिंग सबमोड में एक ही कुंजी के साथ उपलब्ध हैं:
" Go through every letter
for key in ['a','b','c','d','e','f','g','h','i','j','k','l','m',
\ 'n','o','p','q','r','s','t','u','v','w','x','y','z']
" maps lowercase, uppercase and <C-key>
call submode#map('window', 'n', '', key, '<C-w>' . key)
call submode#map('window', 'n', '', toupper(key), '<C-w>' . toupper(key))
call submode#map('window', 'n', '', '<C-' . key . '>', '<C-w>' . '<C-'.key . '>')
endfor
" Go through symbols. Sadly, '|', not supported in submode plugin.
for key in ['=','_','+','-','<','>']
call submode#map('window', 'n', '', key, '<C-w>' . key)
endfor
इस तरह सभी मैपिंग <c-w>lowerCaseKey
, <c-w>upperCaseKey
, <c-w><c-Key>
और मैपिंग <c-w>=_+-<>
सभी उपसर्ग के बिना विंडो मोड में जाया जा सकता है<c-w>
wincmd
उदाहरण के लिए आप मैप कर सकते हैं::nmap wj :wincmd j<cr>
यह उसी तरह कार्य करता हैCTRL-W j
(नीचे विंडो में ले जाएँ)।:help wincmd