현재 스플릿의 너비와 높이를 어떻게 변경합니까?


111

^ w + v, ^ w + s를 사용하여 분할 버퍼를 작업하고 있지만 때로는 현재 분할을 넓히거나 높이를 변경하고 싶습니다. 어떻게하면 되나요?

답변:


158

이를 수행 할 수있는 몇 가지 창 명령이 있습니다.

  • Ctrl+W +/-: 증가 / 감소 높이 (예. 20<C-w>+)
  • Ctrl+W >/<: 증가 / 감소 폭 (예. 30<C-w><)
  • Ctrl+W _: 세트 높이 (예. 50<C-w>_)
  • Ctrl+W |: 세트 폭 (예. 50<C-w>|)
  • Ctrl+W =: 모든 창의 너비와 높이를 균등화

또한보십시오: :help CTRL-W


19
처음 두 옵션은 한 번에 둘 이상의 행 / 열로 크기를 조정하는 데 카운트가 필요할 수 있습니다.
Rich

4
또한 세 번째 및 네 번째 옵션은 최대 높이 / 너비로 크기를 조정하는 데 아무런 영향을 미치지 않습니다 .
Michael

2
내 시스템에서는 :help CTRL-W그렇지 않다:help CTRL_W
Alexej Magura

windows, Cygwin, vim : when you vimdiff -o bigfile1.bash bigfile2.bash: ctrl-w =: 맨 위에 MiniBufExplorer 3 번째 창을 열고 (3 개의 창 크기가 동일) 닫으면 첫 번째 .bash 파일의 창이 2 번째 .bash 파일보다 2 배 더 큽니다. 창문. 2 개의 .vim 파일을 사용한 동일한 작업으로 동일한 결과가 나타납니다. :(와 동일vim -o
Olivier Dulac

처음 두 가지 옵션에 대한 바로 가기 요청 vi.stackexchange.com/questions/16786/…
KcFnMi

43

다음 resize명령을 사용할 수도 있습니다 .

  • :resize [+-]N -가로 분할의 크기를 조정하여 높이를 N 자로 늘리거나 줄입니다.
  • :vertical resize [+-]N -세로 분할의 크기를 조정하여 높이를 N 자로 늘리거나 줄입니다.
  • :resize N -가로 분할의 크기를 조정하고 높이를 N 자로 설정하십시오.
  • :vertical resize N -세로 분할의 크기를 조정하여 너비를 N 자로 설정하십시오.

이들은 Ctrlw명령 과 같습니다 . 참조하십시오 :help window-resize.



29

이것이 vim의 마우스 모드를 사용하는 몇 가지 이유 중 하나입니다.

GUI 버전을 사용하거나 터미널이 xterm 또는 rxvt-unicode와 같은 드래그 이벤트 전송을 지원하는 경우 분할 선을 클릭하고 드래그하여 Ctrl 키를 사용하여 많은 추측 작업없이 원하는 위치로 창의 크기를 조정할 수 있습니다 -w 더하기, 빼기, 덜, 더 큰 조합.

터미널 버전에서는 마우스 모드를 올바르게 설정해야 작동합니다.

:set mouse=n

( 'n'을 사용하지만 'a'도 작동합니다)

tty 마우스 유형을 설정해야합니다

:set ttymouse=xterm2

많은 사람들이 마우스를 사용하여 많은 시간을 낭비한다고 말하지만 (주로 키보드에서 마우스로 손을 이동하는 데 걸리는 시간 때문에) 시간이 절약됩니다. 창 크기를 조정하는 동안 즉각적인 피드백을 받고 크기를 재조정하는 속도가 빠릅니다 (다른 키 시퀀스를 입력하는 대신 마우스를 계속 움직이십시오).


4
나는 더 동의 할 수 없었습니다 :set mouse=n.Gnome -terminal 에서 충분 :set ttymouse=xterm2하다는 것을 알았지 만 TMux 내부 가 필요할 때 가능하게 했습니다.
the_velour_fog

1
물론 키보드를 좋아하지만 이런 종류의 마우스를 사용하는 것이 좋습니다.
calbertts 2016 년

와우, 이것을 주목 해 주셔서 감사합니다!
Charlie Gorichanaz

전적으로 동의 하지만 "이 경우 창 크기를 조정하는 동안 즉각적인 피드백을 통해 절약되는 시간과 크기 조정의 신속성 (다른 키 시퀀스를 입력하는 대신 마우스를 계속 움직이면 됨)이 moingmy 손의 지연보다 중요하다는 것을 알게되었습니다. " .
Nawaz

4

아무도 언급하지 않은 것 같습니다 z{nr}<CR>.

당신 :h ^w_이 그렇다면 z{nr}<CR>바로 아래에 표시 됩니다 CTRL-W_.

z=맞춤법 검사 가 필요하지 않고 아래에 추가 된 경우 .vimrc,

" vertical resize, z0<CR> minimize, z= equalize, z99<CR> maximize.
nnoremap z= <C-w>=

그런 다음 창 높이를 변경하려면 다음을 수행하십시오.

  • z0<CR> 현재 창의 높이를 최소화
  • z99<CR> 현재 창의 높이를 최대화하려면
  • z= 그들을 모두 평등하게

2
이 사용은 z약간 직관적이지 않습니다. 나는 우리가 C-W매핑을 고수해야한다고 생각 합니다. 그래도 무엇이 있는지 아는 것이 좋습니다.
클라우스

4

보다 빠르게 분할 크기 조정 :http://vim.wikia.com/wiki/Resize_splits_more_quickly

:resize명령 또는 바로 가기 :res를 사용하여 창의 높이를 변경할 수 있습니다 . 높이를 60 행으로 변경하려면 다음을 사용하십시오. :resize 60

높이를 증분으로 변경할 수도 있습니다. 높이를 5 씩 증가 시키려면 다음을 사용하십시오. :res +5 :res -5

: vertical resize를 사용하여 현재 창의 너비를 변경할 수 있습니다. 너비를 80 열로 변경하려면 다음을 사용하십시오. :vertical resize 80

너비를 증분 단위로 변경할 수도 있습니다. 너비를 5 씩 증가 시키려면 다음을 사용하십시오. :vertical resize +5 :vertical resize -5


Resize splits more quickly이러한 명령이 키 바인딩에 바인딩되어 있지 않으면 가능하지 않을 것입니다.
klaus

Enan의 진술에 전적으로 동의하지 마십시오. 나는이 답변을 좋아합니다 imho
craft

0

어떤 이유로 (플러그인과 같은) 표준 C-w >(등)이 my에서 작동하지 않았습니다 ~/.vimrc.

.vimrc추가는 작동했습니다 ( Ctrl-Shift-Left... 여기서 Left | Right= 왼쪽 및 오른쪽 화살표 키.

" noremap <silent> <C-S-Left> :vertical resize +5<CR>
" noremap <silent> <C-S-Right> :vertical resize -5<CR>
noremap <silent> <C-S-Left> :vertical resize +1<CR>
noremap <silent> <C-S-Right> :vertical resize -1<CR>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.