Vimで垂直分割ウィンドウサイズを増やす方法


316

:vsplit(短縮形::vs)Vimビューポートを垂直に分割します。:30vsビューポートを分割し、新しいウィンドウを30文字幅にします。この30文字のウィンドウが作成されたら、サイズを31または29にどのように変更しますか?

水平ウィンドウありCtrl- W +行数を1つ増やします。列を1つ増やすための同等のコマンドは何ですか?


15
Ctrl-W 5+を実行して、ウィンドウの高さを5(または任意の数)増やすこともできます。同じことがCtrl-W 5にも
当てはまります

1
:h ^wウィンドウコマンドのリストを表示します。:h ^ww通常のコマンドのヘルプを参照してくださいCtrl-w w
qeatzy 2017

回答:


450

CTRL-W >

そして

CTRL-W <

ウィンドウを広くしたり狭くしたりします。


115
または:30winc > :30winc <30文字以上/以下の文字幅にする。
Benoit

85
または30CTRL-W >答えの精神にとどまる。
ザビエルT.

50
:vertical resize 30現在のウィンドウの幅をちょうど30文字に変更します。
Peter Rincker、2010

20
また、CTRL-W 30>
dhblah 2012

5
:res <N>現在のウィンドウサイズを正確にN行に設定するには(幅ではなく高さの場合)
lukecampbell 2013


105

HORIZONTAL SPLITのサイズ変更も必要な場合:
コマンドはすべての分割で同じですが、パラメーターが変更されるだけです。

- + の代わりに < >


下げ 10列によって水平方向のサイズを

:10winc -

水平サイズを30列増やす

:30winc +

または通常モード内:

水平分割

10 CTRL+w -

30 CTRL+w +

垂直分割

10 CTRL+ w <(減少)

30 CTRL+ w >(増加)


3
+1。ほんのマイナーなコメント::he winc ctrl+w [count] {arg}作品によると...
TrueY

45

私の側からの別のヒント:

ウィンドウの幅を80列に設定するには、次のようにします。

80 CTRL+W |

最大幅に設定するには、前の数字を省略します:

CTRL+W |

6
高さ:このパラメータの対応するものは、高さを調整するための "_"(shift +-)です。|なので、視覚的に覚えるのはとても簡単です。文字通り垂直分割であり、_は文字通り水平分割線です。例:15 CTRL + W _現在の分割の高さを15行に設定します。覚えておく別の方法:絶対サイズにはSHIFTが必要です。および_シフトを押す必要がある
freeo 2014

29

これらを.gvimrcにマッピングして、command- [arrow]を押して現在のウィンドウの高さと幅を移動できるようにします。

" resize current buffer by +/- 5 
nnoremap <D-left> :vertical resize -5<cr>
nnoremap <D-down> :resize +5<cr>
nnoremap <D-up> :resize -5<cr>
nnoremap <D-right> :vertical resize +5<cr>

MacVimの場合は、.gvimrcに配置する必要があります(.vimrcではなく)。そうしないと、システム.gvimrcによって上書きされてしまいます。


1
最後に<cr>はどういう意味ですか?これまでnnoremapでそれを見たことがない
Zen Zen

2
「キャリッジリターン」の略で、基本的にはユーザーがリターンを
押す

9

同じように、次.vimrcのコードを使用して分割を移動します。移動するものを自動的にフルサイズに拡大し、残りをすべて最小の高さまたは幅に縮小します。

" Switch between window splits using big J or K and expand the split to its 
" full size. 
" 
" Move vertically in the window through the horizontal splits... 
map <C-J> <C-w>j<C-w>_ 
map <C-K> <C-w>k<C-w>_ 

" Move horizontally in the window through the vertical splits... 
map <C-H> <C-w>h<C-w>\| 
map <C-L> <C-w>l<C-w>\| 

4

.vimrcで以下をマッピングすることにより、サイズ変更に数値を使用しています

nmap 7 :res +2<CR> " increase pane by 2 
nmap 8 :res -2<CR> " decrease pane by 2
nmap 9 :vertical res +2<CR> " vertical increase pane by 2
nmap 0 :vertical res -2<CR> " vertical decrease pane by 2

私はあなたの意味だと思うnmap 9 :vertical res +2<CR>の代わり-2のためにvertical increase
ザック

これは本当に素晴らしいバインディングです。ありがとうございました!
LeOn-Han Li

3

これは私が現在使用しているものです:

nnoremap <silent> <Leader>= :exe "resize " . (winheight(0) * 3/2)<CR>
nnoremap <silent> <Leader>- :exe "resize " . (winheight(0) * 2/3)<CR>
nnoremap <silent> <Leader>0 :exe "vertical resize " . (winwidth(0) * 3/2)<CR>
nnoremap <silent> <Leader>9 :exe "vertical resize " . (winwidth(0) * 2/3)<CR>

1

私はこれのために以下のコマンドを使用しています:

set lines=50     " For increasing the height to 50 lines (vertical)
set columns=200  " For increasing the width to 200 columns (horizontal)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.