2011-01-26 8 views
155

में विभाजित विंडो रद्द करें मैंने अपनी खिड़कियां क्षैतिज रूप से विभाजित की हैं। अब मैं सामान्य मोड पर कैसे लौट सकता हूं, यानी मेरी सभी खुली खिड़कियों को रद्द किए बिना सिर्फ एक खिड़की नहीं है। मेरे पास 5 है और "छोड़ना" नहीं चाहते हैं, बस विभाजित खिड़की से बाहर निकलना चाहते हैं।विम

+6

कोई मौका आप एक्स के जवाब को स्वीकार कर सकते हैं? वर्तमान में स्वीकृत एक से अधिक उपयोगी है ... –

उत्तर

210

प्रेस नियंत्रण + डब्ल्यू, तो क्ष मारा एक समय में प्रत्येक विंडो को बंद करने।

अद्यतन: भी विचार Eckes का जवाब आपके लिए अधिक उपयोगी हो सकता है जो, :on शामिल (नीचे पढ़ें) यदि आप इसे एक समय में एक खिड़की करने के लिए नहीं करना चाहती।

+0

यदि आपके पास 5 स्प्लिटक खोला गया है, तो मुझे यकीन नहीं है कि आपका समाधान वास्तव में मदद करेगा। –

+9

मैं सहमत हूं लेकिन ओपी ने एक्स जवाब नहीं लिया है, और मैं इसे स्वयं नहीं बदल सकता। –

+4

मुझे पूरा यकीन है कि यह सही जवाब है। यह मेरे लिए किया गया था और यदि आप ओप के सवाल को देखते हैं, तो वह हाल ही में विभाजित एक और अपनी खुली खिड़कियां बंद नहीं करना चाहता था। – Zak

0

ठीक है मैं सिर्फ अलग और स्क्रीन सत्र के लिए पुनः अनुलग्न और मैं वापस सामान्य स्क्रीन मैं

5
आदेश

चाहता था करने के लिए कर रहा हूँ: छिपाने वर्तमान में ध्यान केंद्रित खिड़की छुपा देगा। मुझे लगता है कि यह वह कार्यक्षमता है जिसे आप ढूंढ रहे हैं।

आदेश खिड़कियों के बीच नेविगेट करने में Ctrl + डब्ल्यू एक नेविगेशन कुंजी (ज, J, K, एल, या तीर कुंजियों)

अधिक जानकारी के लिए, जिसके बाद vim में :help window और :help hide चलाते हैं।

+0

यह बहुत अच्छा है। क्रोम (एसएसएच प्लगइन के साथ) जाल "करीबी टैब" के रूप में सभी vim के विंडो कमांड को प्रभावी ढंग से अक्षम कर रहा है। एक विकल्प होने के उपयोगी है। – rein

19

वर्तमान विंडो को बंद करने के लिए दो विकल्प ZZ और ZQ हैं, जो क्रमशः, सहेजे गए बफर में परिवर्तनों को सहेजते हैं और सहेजते नहीं हैं।

+4

यह निश्चित रूप से "विम रास्ता" है, crtl + w o इतने emacs लगता है। –

47

सभी विंडो बंद करने लेकिन मौजूदा एक का उपयोग:

CTRL + डब्ल्यू,

है यही कारण है कि, पहले CTRL + डब्ल्यू और फिर

+1

मुझे यह भी आश्चर्य है कि 'CTRL + W o' गलती से टाइप करने का कोई तरीका है या नहीं। – Paolo

204

सभी विभाजन को बंद करने के, मैं आमतौर पर विंडो पर -ly दिखाई एक होगा और उसके बाद :on जो वर्तमान विंडो -ly दिखाई खिड़की पर बनाता कर में कर्सर रखें। याद रखने के लिए अच्छा निमोनिक।


संपादित करें::help :on मुझे पता चला है कि इन आदेशों ही कर रहे हैं:

  • :on
  • :only
  • CTRL-डब्ल्यूCTRL-ओ
  • और हाँ , अल इसलिए CTRL-Wo का एक ही प्रभाव है (Nathananswered)।

इनमें से प्रत्येक चार सक्रिय विंडोज को छोड़कर सभी खिड़कियों को बंद कर देता है।

+0

'^ w_o' दस्तावेज़ों में है। यह बाकी के ऊपर है। –

+6

+1 यदि अन्य विंडो में कोई अनपेक्षित परिवर्तन होता है, तो 'ऑन' 'E445 के साथ प्रतिक्रिया देगा: अन्य विंडो में परिवर्तन होते हैं 'और दूसरी विंडो बंद नहीं करेंगे। उदाहरण के लिए, मैं आमतौर पर एक नई विंडो बना देता हूं, और उसमें एक फ़ाइल पढ़ता हूं जिसे मैं यंक करना चाहता हूं। इस मामले में, विम दूसरी खिड़की को अनचाहे परिवर्तन करने के लिए मानता है। ऐसे मामले में, बंद करने के लिए ': चालू!' का उपयोग करें। – Sabuncu

1

बस दूसरों की तरह कहा तरीका यह है पहले ctrl + डब्ल्यू और फिर प्रेस करने के लिए है। यह दूसरों को बंद करते समय, मौजूदा विंडो को "अधिकतम" करेगा। यदि आप इसे "अनैक्सिमाइज़" करने में सक्षम होना चाहते हैं, तो इसके लिए ZoomWin नामक एक प्लगइन है। अन्यथा आपको स्क्रैच से विंडो सेटअप को फिर से बनाना होगा।

0

मैंने पाया कि उस विंडो में ctrl-w जिसे आप बंद करना चाहते हैं, तो बस करें: q यह मेरे लिए काम करता है।

+0

यह वास्तव में एक डुप्लिकेट उत्तर है, जो कि 3+ वर्षों के लिए बैठे कुछ की नकल है। –

1

मैं आपको अच्छी तरह से समझता हूं, मैं विशेष रूप से बफर का उपयोग करता हूं, और यदि आवश्यक हो तो कभी-कभी विभाजित होता है।

नीचे की मेरी .vimrc

" disable macro, since not used in 90+% use cases 
map q <Nop> 
" q, close/hide current window, or quit vim if no other window 
nnoremap q :if winnr('$') > 1 \|hide\|else\|silent! exec 'q'\|endif<CR> 
" qo, close all other window -- 'o' stands for 'only' 
nnoremap qo :only<CR> 
set hidden 
set timeout 
set timeoutlen=200 " let vim wait less for your typing! 

कौन सा मेरे कार्यप्रवाह काफी अच्छी तरह से

तो q

  • दबाया गया था फिट बैठता है वर्तमान विंडो को छिपाने के अंश है यदि एक से अधिक विंडो खुली है, और विम छोड़ने की कोशिश करो।

अगर qo दबाया गया था,

  • पास अन्य सभी खिड़की, केवल एक खिड़की है, तो कोई प्रभाव नहीं।
बेशक

, आप कर सकते हैं चादर है कि एक समारोह में हिस्सा गंदा, जैसे

func! Hide_cur_window_or_quit_vim() 
    if winnr('$') > 1 
     hide 
    else 
     silent! exec 'q' 
    endif 
endfunc 
nnoremap q :call Hide_cur_window_or_quit_vim()<CR> 

Sidenote: मैं q पुन: मैप, के बाद से मैं संपादन के लिए मैक्रो का उपयोग करने के बजाय :s, :g, :v, और यदि आवश्यक हो तो बाहरी टेक्स्ट प्रोसेसिंग कमांड का उपयोग करें, उदाहरण के लिए, :'{,'}!awk 'some_programm', या :norm! normal-command-here का उपयोग करें।