어떻게 수직 분할 및 그 수평 분할에서 현재 창 빔에 반대 전환 할 수 있습니다?
나는 그 순간 우연히 그 일을했지만 열쇠를 다시 찾을 수는 없습니다.
답변
Vim 메일 링리스트 는 다음과 같이 말합니다 (가독성 향상을 위해 다시 포맷).
두 개의 세로 분할 창을 가로 분할로 변경하려면
Ctrl– w t Ctrl–w K
가로에서 세로로 :
Ctrl– w t Ctrl–w H
설명 :
Ctrl– w t 첫 번째 (왼쪽 위) 창을 현재로 만듭니다.
Ctrl– w K 맨 위의 현재 창을 전체 너비로 이동
Ctrl– w H 왼쪽에서 현재 창을 전체 높이로 이동
t는 소문자이고 K와 H는 대문자입니다.
드롭 수있는 것처럼 또한, 두 개의 창으로 보인다 Ctrl– w t당신이 현재 만드는 점은 무엇입니까, 두 개의 창 중 하나에 이미 있다면 때문에 부분을?
답변
Ctrl– w다음 H, J, K또는 L(자본)에 현재 창을 이동 맨 left
, bottom
, top
또는right
각각 같은 일반 커서 탐색.
소문자 등가물은 창을 이동하는 대신 포커스를 이동합니다.
답변
두 개 이상의 창이 가로 또는 세로로 열려 있고 모두 다른 방향 으로 전환하려는 경우 다음을 사용할 수 있습니다.
(수평으로 전환)
:windo wincmd K
(수직으로 전환)
:windo wincmd H
효과적으로 각 창으로 이동하고 ^WK또는을 사용 ^WH합니다.
답변
다음 ex 명령은 여러 창을 (재) 분할합니다 :
- 세로로 나누려면 (예 : 창 사이에 세로 구분선 만들기)
:vertical ball
- 가로로 나누려면
:ball
숨겨진 버퍼가있는 경우이 명령을 실행하면 숨겨진 버퍼도 표시됩니다.
답변
VIM에서 다음을 살펴보고 수행 한 작업에 대한 다른 대안을보십시오.
: 창 열기 도움말
예를 들어 :
Ctrl– W s
Ctrl– W o
Ctrl– W v
Ctrl– W o
Ctrl– W s
…
답변
가로에서 세로로 분할
Ctrl+ W창 명령의 경우 Shift+ H또는 Shift+L
수직에서 수평 분할
Ctrl+ W창 명령의 경우 Shift+ K또는 Shift+J
두 개의 창이 존재하는 경우 두 솔루션이 모두 적용됩니다.
기본적으로 세로 분할에서 도움말 열기
이 두 줄을 다음에 추가하십시오 .vimrc
.
cabbrev help vert help
cabbrev h vert h
:vert[ical] {cmd}
항상 cmd
수직 분할 창에서 실행합니다 .
답변
Steve의 답변에서 영감을 얻어 현재 탭의 모든 창에 대해 세로 및 가로 분할을 전환하는 간단한 기능을 작성했습니다. 아래 마지막 줄에서와 같이 매핑에 바인딩 할 수 있습니다.
function! ToggleWindowHorizontalVerticalSplit()
if !exists('t:splitType')
let t:splitType = 'vertical'
endif
if t:splitType == 'vertical' " is vertical switch to horizontal
windo wincmd K
let t:splitType = 'horizontal'
else " is horizontal switch to vertical
windo wincmd H
let t:splitType = 'vertical'
endif
endfunction
nnoremap <silent> <leader>wt :call ToggleWindowHorizontalVerticalSplit()<cr>