Cara meningkatkan ukuran jendela split vertikal di Vim

316

:vsplit(bentuk pendek :vs:) bagi viewport Vim secara vertikal. :30vsmemisahkan viewport, membuat jendela baru menjadi 30 karakter. Setelah 30 jendela char ini dibuat, bagaimana seseorang mengubah ukurannya menjadi 31 atau 29?

Dengan jendela horizontal Ctrl- W +menambah jumlah baris per satu. Apa perintah yang setara untuk menambah kolom dengan satu?

molicule
sumber
15
Anda juga dapat melakukan Ctrl-W 5+ untuk menambah tinggi jendela sebanyak 5 (atau angka apa saja). Sama berlaku untuk Ctrl-W 5-
AlexMA
1
:h ^wuntuk melihat daftar perintah jendela. :h ^wwuntuk melihat bantuan perintah normal Ctrl-w w.
qeatzy

Jawaban:

450

CTRL-W >

dan

CTRL-W <

untuk membuat jendela lebih lebar atau lebih sempit.

Herbert Sitz
sumber
115
atau :30winc > dan :30winc <memiliki 30 karakter lebih / kurang lebar.
Benoit
85
atau 30CTRL-W >untuk tetap dalam semangat jawabannya.
Xavier T.
50
:vertical resize 30untuk mengubah ukuran jendela saat ini menjadi tepat dengan lebar 30 karakter.
Peter Rincker
20
juga CTRL-W 30>
dhblah
5
:res <N>untuk mengatur ukuran jendela saat ini menjadi tepat N baris (untuk tinggi bukan lebar)
lukecampbell
249

Dan Ctr-W =

akan membuat mereka setara

RusAlex
sumber
10
:winc =Ini juga akan membuat mereka setara.
nitin_cherian
1
Itu untuk pemisahan horizontal, bukan? Apa yang akan menjadi setara untuk pemisahan vertikal?
José Ramón
3
@ JoséRamón Perintah ini berfungsi untuk pemisahan horizontal dan vertikal.
Nathan
105

Jika Anda membutuhkan pengubahan ukuran HORIZONTAL SPLIT juga:
Perintahnya sama untuk semua pembagian, hanya perubahan parameternya :

- + dari pada < >

Contoh :
Kurangi ukuran horizontal sebanyak 10 kolom

:10winc -

Tambah ukuran horizontal sebanyak 30 kolom

:30winc +

atau dalam mode normal:

Perpecahan horizontal

10 CTRL+w -

30 CTRL+w +

Perpecahan vertikal

10 CTRL+ w <(berkurang)

30 CTRL+ w >(meningkat)

freeo
sumber
3
+1. Hanya komentar kecil: menurut :he winc ctrl+w [count] {arg}karya juga ...
Benar
45

Kiat lain dari sisi saya:

Untuk mengatur lebar jendela agar katakan persis 80 kolom, gunakan

80 CTRL+W |

Untuk mengaturnya menjadi lebar maksimum, cukup abaikan angka sebelumnya:

CTRL+W |
Phil
sumber
6
HEIGHT: Mitra parameter ini adalah "_" (shift + -) untuk menyesuaikan ketinggian. Sebenarnya sangat mudah diingat secara visual, karena | secara harfiah split vertikal dan _ secara harfiah adalah garis split horizontal. Contoh: 15 CTRL + W _ Mengatur ketinggian perpecahan saat ini menjadi 15 baris. Cara lain untuk diingat: Anda memerlukan SHIFT untuk ukuran absolut, karena keduanya | dan _ memerlukan shift untuk ditekan
freeo
29

Saya telah memetakan ini di .gvimrc saya untuk membiarkan saya menekan command- [panah] untuk memindahkan tinggi dan lebar jendela saya saat ini di sekitar:

" 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>

Untuk MacVim, Anda harus meletakkannya di .gvimrc Anda (dan bukan .vimrc Anda) karena mereka akan ditimpa oleh sistem .gvimrc

Ted Naleid
sumber
1
apa artinya <cr> pada akhirnya? Belum pernah melihat itu di nnoremap sebelumnya
Zen
2
ini adalah kependekan dari "carriage return", pada dasarnya ini setara dengan pengguna yang memukul balik
Ted Naleid
9

Sepanjang baris yang sama, saya menggunakan yang berikut ini di saya .vimrcuntuk membiarkan saya bergerak melalui split, secara otomatis memperluas yang saya pindah ke ukuran penuh dan menyusut semua sisanya ke ketinggian atau lebar minimum:

" 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>\| 
Manusia Timah
sumber
4

Saya menggunakan angka untuk mengubah ukuran dengan memetakan berikut ini di .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
Gajendra Jena
sumber
Saya pikir maksud Anda nmap 9 :vertical res +2<CR>alih-alih -2untukvertical increase
Zach
Ini sangat mengikat. Terima kasih!
LeOn - Han Li
3

Inilah yang saya gunakan sampai sekarang:

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>
Meain
sumber
1

Saya menggunakan perintah di bawah ini untuk ini:

set lines=50     " For increasing the height to 50 lines (vertical)
set columns=200  " For increasing the width to 200 columns (horizontal)
imbichie
sumber