Cách tăng kích thước cửa sổ chia dọc trong Vim


316

:vsplit(dạng ngắn :vs:) chia khung nhìn Vim theo chiều dọc. :30vschia nhỏ khung nhìn, làm cho cửa sổ mới rộng 30 ký tự. Khi cửa sổ 30 char này được tạo, làm thế nào để thay đổi kích thước của nó thành 31 hoặc 29?

Với các cửa sổ nằm ngang Ctrl- W +tăng số lượng dòng lên một. Lệnh tương đương để tăng các cột bằng một là gì?


15
Bạn cũng có thể thực hiện Ctrl-W 5+ để tăng chiều cao cửa sổ thêm 5 (hoặc bất kỳ số nào). Tương tự với Ctrl-W 5-
AlexMA

1
:h ^wđể xem danh sách các lệnh của cửa sổ. :h ^wwđể xem sự giúp đỡ của lệnh bình thường Ctrl-w w.
qeatzy

Câu trả lời:


450

CTRL-W >

CTRL-W <

để làm cho cửa sổ rộng hơn hoặc hẹp hơn.


115
hay :30winc > :30winc <có 30 hơn / ít ký tự rộng.
Benoit

85
hoặc 30CTRL-W >để ở trong tinh thần của câu trả lời.
Xavier T.

50
:vertical resize 30để thay đổi kích thước cửa sổ hiện tại thành chính xác 30 ký tự.
Peter Rincker

20
cũng CTRL-W 30>
dhblah

5
:res <N>để đặt kích thước cửa sổ hiện tại thành chính xác N hàng (cho chiều cao không phải chiều rộng)
lukecampbell

249

Ctr-W =

sẽ làm cho chúng bằng nhau


10
:winc =Điều này cũng sẽ làm cho chúng bằng nhau.
nitin_cherian

1
Đó là cho chia tách ngang, phải không? Điều gì sẽ tương đương với chia tách dọc?
Jose Ramón

3
@ JoséRamón Lệnh này hoạt động cho cả phân chia ngang và dọc.
Nathan

105

Trong trường hợp bạn cũng cần thay đổi kích thước HORIZONTAL SPLIT :
Lệnh này giống nhau cho tất cả các phần tách, chỉ cần thay đổi tham số :

- + thay vì < >

Ví dụ :
Giảm kích thước ngang 10 cột

:10winc -

Tăng kích thước ngang 30 cột

:30winc +

hoặc trong chế độ bình thường:

Chia ngang

10 CTRL+w -

30 CTRL+w +

Chia dọc

10 CTRL+ w <(giảm)

30 CTRL+ w >(tăng)


3
+1. Chỉ là một nhận xét nhỏ: theo :he winc ctrl+w [count] {arg}các tác phẩm cũng ...
TrueY

45

Một mẹo khác từ phía tôi:

Để đặt chiều rộng của cửa sổ thành giả sử chính xác 80 cột, hãy sử dụng

80 CTRL+W |

Để đặt chiều rộng tối đa, chỉ cần bỏ qua số trước:

CTRL+W |

6
HEIGHT: Bản sao của tham số này là "_" (shift + -) để điều chỉnh độ cao. Thật ra rất dễ nhớ trực quan, vì | nghĩa đen là chia dọc và _ nghĩa đen là đường phân chia ngang. Ví dụ: 15 CTRL + W _ Đặt chiều cao chia tách hiện tại thành 15 hàng. Một cách khác để nhớ: bạn cần SHIFT cho kích thước tuyệt đối, vì cả hai | và _ yêu cầu phải thay đổi
freeo

29

Tôi đã ánh xạ các tệp này trong .gvimrc để cho phép tôi nhấn lệnh- [mũi tên] để di chuyển chiều cao và chiều rộng của cửa sổ hiện tại của tôi xung quanh:

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

Đối với MacVim, bạn phải đặt chúng vào .gvimrc (chứ không phải .vimrc của bạn) vì nếu không chúng sẽ bị hệ thống ghi đè .gvimrc


1
Điều đó có nghĩa là gì? Chưa từng thấy điều đó trong nnoremap trước đây
Zen

2
nó là viết tắt của "vận chuyển trở lại", về cơ bản nó tương đương với việc người dùng quay trở lại
Ted Naleid

9

Dọc theo cùng một dòng, tôi sử dụng phần sau đây .vimrcđể cho phép tôi di chuyển qua các phần tách, tự động mở rộng phần tôi đang di chuyển đến kích thước đầy đủ của nó và thu nhỏ tất cả phần còn lại về chiều cao hoặc chiều rộng tối thiểu của chúng:

" 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

Tôi đang sử dụng số để thay đổi kích thước bằng cách ánh xạ sau trong .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

Tôi nghĩ bạn có nghĩa là nmap 9 :vertical res +2<CR>thay vì -2chovertical increase
Zach

Đây thực sự là một ràng buộc tốt đẹp. Cảm ơn bạn!
LeOn - Han Li

3

Đây là những gì tôi đang sử dụng cho đến nay:

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

Tôi đang sử dụng các lệnh dưới đây cho việc này:

set lines=50     " For increasing the height to 50 lines (vertical)
set columns=200  " For increasing the width to 200 columns (horizontal)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.