Vim : 창을 왼쪽 / 오른쪽으로 이동 하시겠습니까?


215

Vim에서 창을 왼쪽이나 오른쪽으로“이동”할 수 있습니까? 유사 예, <c-w> r또는 <c-w> x,하지만 왼쪽 / 오른쪽 대신의 업 / 다운?

예를 들어이 레이아웃이있는 경우 :

+---+---+---+
|   |   +---+
| A +---+---+
|   |   |   |
+---+---+---+

나는 이것을 이것으로 바꾸고 싶다 :

+---+---+---+
|   |   +---+
+---+ A +---+
|   |   |   |
+---+---+---+

어느 것이 어렵거나 성가시다 <c-w> {H,J,K,L}.

답변:


425

Ctrl w "windows 명령 모드"를 제공하여 다음 수정자를 허용합니다.

  • Ctrl w+ R-창을 위 / 왼쪽으로 회전합니다.

  • Ctrl w+ r-창을 아래 / 오른쪽으로 회전합니다.

탐색 키와 함께 "windows 명령 모드"를 사용하여 창의 위치를 ​​변경할 수도 있습니다.

  • Ctrl w+ L-현재 창을 "맨 오른쪽"으로 이동

  • Ctrl w+ H-현재 창을 "맨 왼쪽"으로 이동

  • Ctrl w+ J-현재 창을 "매우 맨 아래"로 이동

  • Ctrl w+ K-현재 창을 "매우 상단"으로 이동

:help window-moving자세한 내용을 확인 하십시오


2
<c-w> r세로로만 회전합니다.
David Wolever

10
@David Wolever의 경우이 경우 대문자를 사용해야합니다 (예 : Ctrl-W + Shift-L). 나는 이것이 당신이 찾고있는 것일 수 있다고 생각합니다.
Ricardo Valeriano

@David-방금 테스트했으며 <cw> r 가로로 작동했습니다.
ostler.c

3
@ ostler.c는 세로 분할을 만든 다음 열 중 하나 내에 가로 분할을 만듭니다. 이제 <cw> r을 사용하면 하나의 수직 분할 내에서 두 개의 창만 순환합니다.
Chev

1
@ nn0p 아니요, 창문을 움직입니다. <cw> h는 커서를 다음 창으로 왼쪽으로 이동하고 <cw> H는 현재 창 (커서와 함께)을 맨 왼쪽으로 이동합니다.
MarSoft

60

이것은 나에게 가장 유용합니다 (그리고 아마도 질문에 대한 정답 일 것입니다).

  • Ctrl W+ x또는 Ctrl W+ Ctrl x-가장 가까운 창을 오른쪽으로하여 현재 포커스 된 창을 회전시킵니다.

창 가운데에 있고 오른쪽에있는 창으로 바꾸고 싶을 때 매우 유용합니다. 이것에 감사드립니다!
Daniel Andrei Mincă

8

창 자체 또는 커서 위치 만 이동 하시겠습니까?

앞에서 언급 한 것처럼 회전 또는 순환 옆에있는 창 자체를 위, 맨 아래, 왼쪽 또는 오른쪽으로 만 이동할 수 있습니다.

^W K
^W J
^W H
^W L

창을 오른쪽으로 한 단계 이동하는 기본 방법이 없다고 생각합니다.


1
커서가 아닌 창을 이동하고 싶습니다.
David Wolever

1
그런 다음 vim 창 명령으로 갈 수있는 한, 이것이 유용하다면 해결책으로 표시하십시오 :-)
Bitterzoet

2
내가 할 수 있다면 @Bitterzoet의 의견을 downvote 것입니다. 위의 답변보기
Nathan

1

vim이 표준 키 맵 으로이 작업을 수행 할 수없는 것처럼 보입니다. 문서는 ^ WK, J, H 및 L 명령이 분할을 만들고 지금 위치에서 버퍼를 열어서 작동한다고 말합니다. 그래서 버퍼에 숨기고 왼쪽으로 이동하고 분할 한 다음 같은 기능을 작성했습니다 원래 버퍼를 엽니 다 :

" Rotate a window horizontally to the left
function! RotateLeft()
    let l:curbuf = bufnr('%')
    hide
    wincmd h
    split
    exe 'buf' l:curbuf
endfunc

" Rotate a window horizontally to the right
function! RotateRight()
    let l:curbuf = bufnr('%')
    hide
    wincmd l
    split
    exe 'buf' l:curbuf
endfunc

-6
  • ctrl + h 커서를 다음 창으로 이동 (오른쪽)

  • ctrl + l cursot를 이전 창으로 이동 (왼쪽)

자세한 내용은 다음을 참조하십시오. :help window-moving


3
정확하지 않습니다. Ctrl+h/l창 탐색을위한 표준 바인딩은 아닙니다 (물론 구성 할 수 있으며 일부 플러그인에서 제공됨). 그리고 이것은 어쨌든 원래의 질문에 대답하지 않습니다.
MarSoft
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.