Как увеличить размер вертикального разделенного окна в Vim - PullRequest
308 голосов
/ 06 декабря 2010

:vsplit (краткая форма: :vs) разделить область просмотра Vim по вертикали.:30vs разбивает область просмотра, делая новое окно шириной 30 символов.Как только это окно с 30 символами будет создано, как изменить его размер на 31 или 29?

С горизонтальными окнами Ctrl - W + увеличивает количество строк на одну.Какая эквивалентная команда для увеличения столбцов на один?

Ответы [ 9 ]

439 голосов
/ 06 декабря 2010

CTRL - W >

и

CTRL - W <</kbd>

, чтобы сделать окно шире или уже.

243 голосов
/ 06 декабря 2010

А Ctr - Ш =

сделает их равными

99 голосов
/ 05 марта 2013

В случае, если вам необходимо ГОРИЗОНТАЛЬНОЕ РАЗДЕЛЕНИЕ изменить размер, а также:
Команда одинакова для всех разбиений, только изменения изменения:

- + вместо < >

Примеры :
Уменьшение Размер по горизонтали на 10 столбцов

:10winc -

Увеличение размера по горизонтали на 30 столбцов

:30winc +

или в обычном режиме:

Горизонтальные разбиения

1 0 CTRL + ш -

3 0 CTRL + w +

Вертикальное разделение

1 0 CTRL + w <</kbd> (уменьшение)

3 0 CTRL + w > (увеличение)

44 голосов
/ 19 апреля 2013

Еще один совет с моей стороны:

Чтобы установить ширину окна, скажем, ровно 80 столбцов, используйте

80 CTRL+W |

Чтобы установить максимальную ширину, просто опустите предыдущее число:

CTRL+W |
29 голосов
/ 07 декабря 2010

Я сопоставил их в моем .gvimrc, чтобы я мог нажать команду [стрелка], чтобы переместить высоту и ширину моего текущего окна:

" 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

9 голосов
/ 08 декабря 2010

В том же ключе я использую следующее в моем .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>\| 
2 голосов
/ 03 июня 2016

Я использую числа для изменения размера, отображая следующее в .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
1 голос
/ 02 мая 2016

Это то, что я сейчас использую:

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 голос
/ 06 августа 2015

Я использую следующие команды для этого:

set lines=50     " for increase the height to 50 lines (Vertical)
set columns=200  " for increase the width to 200 columns (Horizontal)
...