this answer विम के लिए समर्पित एसई साइट पर के लिए धन्यवाद, मैं एक और विकल्प है जो एक submode खिड़कियों प्रबंधन के लिए समर्पित बनाने के लिए एक प्लगइन का उपयोग करता है करने के लिए आया था। इसका मतलब है कि चाबियों के संयोजन के साथ मैं एक नया मोड डालता हूं जिसमें कुछ कुंजियां मुझे विंडोज़ पर अलग-अलग क्रियाएं करने की अनुमति देती हैं।
vim-submode स्थापित करने के लिए एक नया मोड कॉन्फ़िगर करने के लिए हमारे vimrc
करने के लिए कुछ लाइनों जोड़ने के बाद:
" Create a submode to handle windows
" The submode is entered whith <Leader>k and exited with <Leader>
call submode#enter_with('WindowsMode', 'n', '', '<Leader>k', ':echo "windows mode"<CR>')
call submode#leave_with('WindowsMode', 'n', '', '<Leader>')
अब आप बस नेता प्रेस करने + कश्मीर नई विधा दर्ज करने के लिए (आप को बदल सकते हैं यह लाइन submode#enter_with
) के साथ और इसे बाहर निकलने के लिए नेता दबाएं।
" 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')
इन पंक्तियों के साथ
, आप (नेता + कश्मीरके साथ) नई विधा में प्रवेश करने के बाद आप के रूप में यदि आप में <c-w>hjlk
उपयोग कर रहे थे कुंजी hjkl
के साथ अपने विंडो के बीच ले जाने के लिए सक्षम हो जाएगा सामान्य स्थिति।
" Resize windows with <C-yuio> (interesting on azerty keyboards)
call submode#map('WindowsMode', 'n', '', 'u', '<C-w>-')
call submode#map('WindowsMode', 'n', '', 'i', '<C-w>+')
call submode#map('WindowsMode', 'n', '', 'y', '<C-w><')
call submode#map('WindowsMode', 'n', '', 'o', '<C-w>>')
कुछ कुछ और लाइनों साथ खिड़की के आकार बदलने की अनुमति देने के yuio
(मैं क्योंकि एक AZERTY कुंजीपटल वे सिर्फ hjkl
से अधिक पंक्ति पर हैं और बहुत उपयोग करने के लिए सुविधाजनक हैं पर इन कुंजियों चुनते हैं, तो हो सकता है यह होगा एक क्वर्टी कीबोर्ड पर इसे बदलने के लिए और अधिक उपयोगी, मुझे यकीन नहीं है)।
" Move windows with <C-hjkl>
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')
चलिए विंडोज़ को <C-hjkl>
के साथ ले जाएं।
" close a window with q
call submode#map('WindowsMode', 'n', '', 'q', '<C-w>c')
" split windows with/and !
call submode#map('WindowsMode', 'n', '', '/', '<C-w>s')
call submode#map('WindowsMode', 'n', '', '!', '<C-w>v')
और कुछ और मैपिंग विंडो बंद करने और नए विभाजन बनाने के लिए।
let g:submode_keep_leaving_key = 1
let g:submode_timeout = 0
अंत में ये विकल्प एक कुंजी दबाए रखने की अनुमति देते हैं और यह इसकी क्रिया दोहराएगा।
नोट मुझे पता है कि यह उत्तर ओपी के रूप में विंडोज़ के बीच नेविगेट करने से कहीं अधिक है।मुझे लगता है कि एक सबमिड बनाना बहुत सुविधाजनक है, लेकिन केवल तभी ब्याज है जब पनडुब्ब सिर्फ एक ही क्रिया से अधिक करने की अनुमति देता है।
धन्यवाद। मुझे इस समाधान के बारे में पता है लेकिन मैं कुछ खोज रहा था जो किसी विशिष्ट विंडो पर नेविगेट करने की अनुमति देगा। वैसे भी, यदि कोई विकल्प मौजूद नहीं है तो यह एक संतोषजनक समाधान होना चाहिए। – Adas
@Adas - कोई बेहतर तरीका नहीं है, न कि मुझे पता है। बात यह है कि, आप खिड़कियों के माध्यम से नेविगेट नहीं करते हैं (वे सिर्फ ... दृष्टिकोण हैं)। आप बफर के माध्यम से नेविगेट करें। तो यदि आपके पास 2x2 विंडो कॉन्फ़िगरेशन है, तो ऊपरी बाएं दूसरे, ऊपरी दाएं दूसरे और इतने पर नहीं होंगे ... – Rook
मेरे पास 'nnoremap w' है, क्योंकि मैंने कभी भी सामान्य मोड में रिटर्न कुंजी का उपयोग नहीं किया है। फिर विभाजन के माध्यम से चक्र के लिए यह आसान है। –