मैं वर्तमान विभाजन की चौड़ाई और ऊँचाई कैसे बदलूँ?


111

मैं विभाजन पर काम कर रहा हूं (^ w + v, ^ w + s) बफ़र्स का उपयोग कर रहा हूं, लेकिन कभी-कभी मैं एक वर्तमान विभाजन को चौड़ा करना चाहूंगा या इसकी ऊंचाई को बदलना चाहूंगा। मैं उसे कैसे प्राप्त कर सकता हूं?

जवाबों:


158

कई विंडो कमांड हैं जो आपको ऐसा करने की अनुमति देते हैं:

  • Ctrl+W +/-: वृद्धि / कमी ऊंचाई (उदा। 20<C-w>+)
  • Ctrl+W >/<: वृद्धि / कमी चौड़ाई (पूर्व 30<C-w><)
  • Ctrl+W _: ऊँचाई निर्धारित करें (उदा। 50<C-w>_)
  • Ctrl+W |: चौड़ाई सेट करें (उदा। 50<C-w>|)
  • Ctrl+W =: सभी खिड़कियों की चौड़ाई और ऊंचाई को बराबर करें

यह सभी देखें: :help CTRL-W


19
यह भी ध्यान देने योग्य हो सकता है कि पहले दो विकल्प एक समय में एक से अधिक लाइन / कॉलम द्वारा आकार बदलने के लिए एक गिनती ले सकते हैं।
रिच

4
यह भी ध्यान देने योग्य हो सकता है कि तीसरे और चौथे विकल्प अधिकतम ऊंचाई / चौड़ाई का आकार बदलने के लिए कोई गिनती नहीं ले सकते ।
माइकल

2
मेरे सिस्टम पर, यह :help CTRL-Wऔर नहीं:help CTRL_W
अलेक्सेज मगुरा

खिड़कियों पर, साइग्विन , विम: जब आप vimdiff -o bigfile1.bash bigfile2.bash:: ctrl-w =मिनीब्यूफ्लेप्लॉरर 3 विंडो खोलता है शीर्ष पर (और 3 खिड़कियां अब आकार में बराबर हैं), और यह बंद कर देता है कि कोई पहली .bash फ़ाइल की विंडो 2 को दूसरी .bash फ़ाइल से बड़ी बनाता है। खिड़की। 2 .vim फ़ाइलों के साथ एक ही ऑपरेशन समान परिणाम देता है। :( उसी के साथvim -o
ओलिवियर दुलैक

पहले दो विकल्पों के लिए शॉर्टकट के लिए पूछना vi.stackexchange.com/questions/16786/…
KcFnMi

43

आप resizeकमांड का उपयोग भी कर सकते हैं :

  • :resize [+-]N - एन वर्णों द्वारा ऊँचाई, बढ़ती या घटती ऊँचाई का एक क्षैतिज विभाजन।
  • :vertical resize [+-]N - एन वर्णों द्वारा एक ऊर्ध्वाधर विभाजन, बढ़ती या घटती ऊंचाई का आकार।
  • :resize N - N वर्णों की ऊंचाई सेट करते हुए, एक क्षैतिज विभाजन का आकार बदलें।
  • :vertical resize N - N वर्णों की चौड़ाई सेट करते हुए, एक ऊर्ध्वाधर विभाजन का आकार बदलें।

ये Ctrlwआज्ञाओं के समतुल्य हैं । देखते हैं :help window-resize



29

यह कुछ कारणों में से एक है जो मुझे विम के माउस मोड का उपयोग करना पसंद है।

यदि आप GUI संस्करण का उपयोग करते हैं, या आपका टर्मिनल ड्रैग ईवेंट (जैसे xterm या rxvt-unicode) भेजने का समर्थन करता है, तो आप विभाजन रेखा पर क्लिक कर सकते हैं और विंडो को उसी स्थान पर आकार देने के लिए ड्रैग कर सकते हैं जहाँ आप चाहते हैं, बिना ctrl के उपयोग के बहुत सारे अनुमान कार्य के बिना। -W प्लस, माइनस, कम, अधिक संयोजन।

टर्मिनल संस्करणों में, आपको काम करने के लिए माउस मोड को ठीक से सेट करना होगा

:set mouse=n

(मैं 'एन' का उपयोग करता हूं, लेकिन 'ए' भी काम करता है)

और आपको टटी माउस प्रकार सेट करना होगा

:set ttymouse=xterm2

बहुत से लोग कहते हैं कि माउस का उपयोग करने में बहुत समय बर्बाद हो जाता है (ज्यादातर समय कीबोर्ड से माउस और पीछे जाने के लिए आपका हाथ बढ़ने में समय लगता है), लेकिन मुझे लगता है कि, इस मामले में, समय की बचत होती है खिड़की के आकार को समायोजित करते समय तत्काल प्रतिक्रिया होने और पुन: आकार बदलने की फुर्ती (एक अन्य प्रमुख अनुक्रम टाइप करने के बजाय माउस को मूव करते रहें) मोहिनी के हाथ की देरी को दूर करता है।


4
मैं अधिक सहमत नहीं हो सका, मैंने गनोम-टर्मिनल में पाया :set mouse=nकि पर्याप्त है, लेकिन सक्षम करने के लिए जब अंदर tmux :set ttymouse=xterm2की जरूरत है।
the_velour_fog

1
बिल्कुल सच है, मुझे कीबोर्ड पसंद है, लेकिन माउस के साथ इस तरह की चीजें बेहतर हैं।
रॉबर्ट

वाह, यह मेरे ध्यान में लाने के लिए धन्यवाद!
चार्ली गोरीचानाज

पूरी तरह से सहमत हैं "लेकिन मुझे लगता है कि, इस मामले में, खिड़की के आकार को समायोजित करते समय तत्काल प्रतिक्रिया होने से बचाया गया समय और फिर से आकार बदलने (एक और महत्वपूर्ण अनुक्रम टाइप करने के बजाय माउस को चालू रखना) मूवमी हाथ की देरी को दूर करता है। "
नवाज

4

लगता है किसी ने उल्लेख नहीं किया z{nr}<CR>

यदि आप :h ^w_, तो इसके z{nr}<CR>ठीक नीचे देखेंगे , जिनका प्रभाव उतना ही है CTRL-W_

यदि आपको z=वर्तनी जांच की आवश्यकता नहीं है , और नीचे जोड़ा गया है .vimrc,

" vertical resize, z0<CR> minimize, z= equalize, z99<CR> maximize.
nnoremap z= <C-w>=

फिर खिड़की की ऊंचाई बदलने के लिए:

  • z0<CR> वर्तमान विंडो की ऊंचाई को कम करने के लिए
  • z99<CR> वर्तमान विंडो की ऊँचाई अधिकतम करने के लिए
  • z= उन सभी को समान बनाने के लिए

2
यह प्रयोग zथोड़ा अचूक है। मुझे लगता है कि हमें C-Wमैपिंग से चिपके रहना चाहिए । यह जानना अच्छा है कि हालांकि वहाँ क्या है।
klaus

4

आकार को अधिक तेज़ी से विभाजित करें v http://vim.wikia.com/wiki/Resize_splits_more_quickly

आप विंडो की ऊंचाई को बदलने के लिए :resizeकमांड या उसके शॉर्टकट :resका उपयोग कर सकते हैं। ऊंचाई को 60 पंक्तियों में बदलने के लिए, उपयोग करें: :resize 60

आप वेतन वृद्धि में ऊँचाई भी बदल सकते हैं। 5 की वेतन वृद्धि से ऊँचाई बदलने के लिए, उपयोग करें: :res +5 :res -5

आप उपयोग कर सकते हैं: वर्तमान विंडो की चौड़ाई बदलने के लिए ऊर्ध्वाधर आकार। चौड़ाई को 80 कॉलम में बदलने के लिए, उपयोग करें: :vertical resize 80

आप वेतन वृद्धि में चौड़ाई भी बदल सकते हैं। 5 की वेतन वृद्धि से चौड़ाई बदलने के लिए, उपयोग करें: :vertical resize +5 :vertical resize -5


यह Resize splits more quicklyतब तक होने की संभावना नहीं है , जब तक कि ये कमांड कीबाइंडिंग के लिए बाध्य न हों, जिसे बॉक्स से बाहर कर दिया गया है
klaus

पूरी तरह से एनान के बयान से सहमत नहीं हैं। मुझे यह उत्तर imho
शिल्प

0

किसी कारण से (एक प्लगइन की संभावना) मानक C-w >(आदि) मेरे में काम नहीं किया ~/.vimrc

इन .vimrcपरिवर्धन ने क्रमशः Ctrl-Shift-Left... ( जहाँ Left | Right= बाएँ और दाएँ तीर कुंजी) काम किया।

" noremap <silent> <C-S-Left> :vertical resize +5<CR>
" noremap <silent> <C-S-Right> :vertical resize -5<CR>
noremap <silent> <C-S-Left> :vertical resize +1<CR>
noremap <silent> <C-S-Right> :vertical resize -1<CR>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.