2009-08-11 8 views
8

मैं वीआईएम में धार्मिक रूप से क्षैतिज और ऊर्ध्वाधर खिड़की के विभाजन का उपयोग करता हूं और हाल ही में, मैंने अपने क्षैतिज विभाजन को प्रभावी ढंग से छिपाने (या कम करने) के लिए दो आदेशों के आराम का आनंद लिया।"न्यूनतम" लंबवत वीआईएम खिड़की विभाजित

set winminheight=0 
map <C-J> <C-W>j<C-W>_ 
map <C-K> <C-W>k<C-W>_ 

ऊपर या नीचे जा रहा द्वारा साधते Control-j या Control-k क्षैतिज विभाजन के माध्यम से नेविगेट: मैं अपने .vimrc फाइल करने के लिए निम्नलिखित लाइनों को जोड़कर उन्हें सेट अप। मैं जो हासिल करना चाहता हूं वह Control-Shift-h और Control-Shift-l का उपयोग करके बाएं या दाएं विभाजन को दिखाकर या छुपाकर लंबवत विभाजन के लिए एक ही चीज़ है; h बाईं ओर ले जा रहे हैं, l दाईं ओर ले जा रहे हैं। , एक समय में न सिर्फ एक पंक्ति

set winminwidth=0 
map <S-C-L> 500<C-W>h<C-W>_ 
map <S-C-H> 500<C-W>l<C-W>_ 

कार्रवाई Control-w-< और Control-w-> उपयोग, केवल ऊर्ध्वाधर विभाजन चलती पूरी तरह से बाईं ओर के समान हो या लिखते थे: मैं कोई सफलता के लिए थोड़ा के साथ निम्नलिखित की कोशिश की है ।

इसे पूरा करने के तरीके पर कोई विचार? धन्यवाद।

उत्तर

11

सबसे पहले, आप अपने कोड में < एस-सी- (शिफ्ट + कंट्रोल) का उपयोग करने में सक्षम नहीं होंगे (नीचे देखें)। लेकिन आप 'mapleader' को अपने "शिफ्ट" के रूप में उपयोग कर सकते हैं और फिर < सी-एच> और < सी-एल> जैसे आप चाहते हैं का उपयोग कर सकते हैं। इस तरह:

set winminwidth=0 
nmap <Leader><C-h> <C-W>h500<C-W>>    
nmap <Leader><C-l> <C-W>l500<C-W>>    

vim में आम नेता कुंजी अल्पविराम और बैक-स्लैश हैं:

:let mapleader = "," 

लेकिन आप पाएंगे कि यह इस बात के लिए 3 कीस्ट्रोक्स की आवश्यकता के लिए कष्टप्रद हो जाता है, तो आप के रूप में हो सकता है अच्छी तरह से नियंत्रण कुंजी स्ट्रोक ड्रॉप।

set winminwidth=0 
nmap <Leader>h <C-W>h500<C-W>>    
nmap <Leader>l <C-W>l500<C-W>>  

" (FTW) :D 

...

एक आदमी का नाम दिया: इस तरह से (यदि आपके नेता अल्पविराम है) तुम सिर्फ दबा सकते हैं ", ज" और ", मैं" अपने बाएँ और दाएँ के विभाजन पर जाने के लिए टोनी फेरीवाला answers कारण है कि आप नियंत्रण + Shift का उपयोग नहीं कर सकते हैं:

विम ASCII के अनुसार अपनी Ctrl+printable_key संयोजन मैप करता है। यह मतलब यह है कि "Ctrl+lowercase letter" है इसी "Ctrl+uppercase letter" और के रूप में ही है कि Ctrl+<key> (जहां <key> एक मुद्रण योग्य कुंजी है) केवल परिभाषित किया गया है जब <key> रेंज 0x40-0x5F, एक लोअरकेस पत्र में है, या एक प्रश्न चिह्न।यह भी मतलब है कि Ctrl-[Esc रूप में ही है, Ctrl-MEnter रूप में ही है, Ctrl-I Tab के समान है।

तो हाँ, Ctrl-s और Ctrl-S (अर्थात Ctrl-s और Ctrl-Shift-s) विम करने के लिए ही हैं। यह डिज़ाइन द्वारा है और बदलने जा रहा है।

2

प्रयास करें

set winminwidth=0 
map <S-C-L> <C-W>h<C-W>| 
map <S-C-H> <C-W>l<C-W>| 

यह बाईं या दाईं ओर (कि <C-W>H और <C-W>L है) करने के लिए पूरी तरह से एक खिड़की के लिए कदम नहीं है, यह बस कर्सर बाईं ओर (या दाएं) से चलता है खिड़की और उस खिड़की क्षैतिज अधिकतम ।

अधिक के लिए :help CTRL_W_bar देखें।