Ответ 1
CTRL - W >
и
CTRL - W <
чтобы сделать окно более широким или более узким.
:vsplit
(короткая форма: :vs
) разделяет видовое окно Vim вертикально. :30vs
разделяет область просмотра, делая новое окно шириной 30 символов. Как только это 30 char окно будет создано, как можно изменить его размер до 31 или 29?
С горизонтальными окнами Ctrl - W + количество строк увеличивается на единицу. Что такое эквивалентная команда для увеличения столбцов на один?
CTRL - W >
и
CTRL - W <
чтобы сделать окно более широким или более узким.
И Ctr - W =
сделает их равными
Если вам потребуется ГОРИЗОНТАЛЬНЫЙ РАЗДЕЛ:
Команда одинакова для всех разделов, только параметр изменяется:
-
+
вместо <
>
Примеры:
Уменьшить по горизонтали на 10 столбцов
:10winc -
Увеличить горизонтальный размер на 30 столбцов
:30winc +
или в нормальном режиме:
Горизонтальные расщепления
1 0 CTRL + w -
3 0 CTRL + w +
Вертикальные расщепления
1 0 CTRL + w < (уменьшение)
3 0 CTRL + w > (увеличение)
Еще один совет с моей стороны:
Чтобы установить ширину окна, чтобы сказать ровно 80 столбцов, используйте
80 CTRL+W |
Чтобы установить максимальную ширину, просто опустите предыдущий номер:
CTRL+W |
У меня есть эти сопоставленные в моем .gvimrc, чтобы я нажал command- [стрелка], чтобы переместить высоту и ширину текущего окна вокруг:
" 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
В тех же строках я использую следующее в моем .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>\|
Я использую числа для изменения размера, сопоставляя следующее в .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
Я использую следующие команды для этого:
set lines=50 " for increase the height to 50 lines (Vertical)
set columns=200 " for increase the width to 200 columns (Horizontal)
Это то, что я использую на данный момент:
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>