Як збільшити розмір віконного вертикального розміру у Vim


316

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

З горизонтальними вікнами Ctrl- W +збільшує кількість ліній на одиницю. Що таке еквівалентна команда для збільшення стовпців на одиницю?


15
Ви також можете зробити Ctrl-W 5+, щоб збільшити висоту вікна на 5 (або будь-яке число). Те саме стосується Ctrl-W 5-
AlexMA

1
:h ^wщоб побачити список команд вікна. :h ^wwщоб побачити допомогу нормальної команди Ctrl-w w.
qeatzy

Відповіді:


449

CTRL-W >

і

CTRL-W <

щоб зробити вікно ширшим або вужчим.


115
або :30winc > і :30winc <мати більше 30 / менше символів.
Бенуа

85
або 30CTRL-W >залишитися в дусі відповіді.
Ксав’єр Т.

50
:vertical resize 30щоб змінити розмір поточного вікна в ширину рівно 30 символів.
Пітер Рінкер

20
також CTRL-W 30>
dhblah

5
:res <N>встановити поточний розмір вікна рівно N рядків (для висоти не ширини)
lukecampbell

249

І Ctr-W =

зробить їх рівними


10
:winc =Це також зробить їх рівними.
nitin_cherian

1
Це для горизонтальних розщеплень, правда? Що було б еквівалентом для вертикальних розщеплень?
Хосе Рамон

3
@ JoséRamón Ця команда працює як для горизонтального, так і вертикального розщеплення.
Натан

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 для абсолютних розмірів, оскільки обидва | і _ вимагають натискання зрушення
вільно

29

Ці карти відображаються у моєму .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


1
що це означає в кінцевому підсумку? Чи не бачив , що в nnoremap перед
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 - Хан Лі

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)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.