나는 가장 오른쪽(또는 왼쪽, 위쪽, 아래쪽) 분할에 있는지 감지하고 싶습니다. 즉, ctrl-w h
언제든지 아무 것도 작동하지 않습니다. 이를 수행할 수 있는 방법이 있습니까?
답변1
단 winnr()
, 이는 일련 번호입니다. 즉, 왼쪽 상단 창과 오른쪽 하단 창만 확인할 수 있지만 정확한 창 관계는 확인할 수 없습니다. 매핑/스크립트에 이 정보가 필요한 경우 설명하는 대로 정확하게 수행해야 합니다.
function! IsLeftMostWindow()
let curNr = winnr()
wincmd h
if winnr() == curNr
return 1
endif
wincmd p " Move back.
return 0
endfunction
편집: winnr('$')은 특별한 경우이며 현재 탭에서 가장 높은 인덱스를 반환합니다. 따라서 winnr() == winnr('$')인 경우 가장 오른쪽 아래(또는 유일한) 창에 있습니다.
답변2
에서 분할 화면을 사용하는 경우 vim
모든 분할 화면 하단에 파일 이름(및 커서 위치 정보)이 포함된 막대가 표시됩니다. 활성 창에서 이 열의 텍스트는 굵게 표시됩니다. 따라서 굵은 텍스트를 확인하면 활성화된 분할을 즉시 확인할 수 있습니다.
답변3
정답은 win_screenpos({nr})
.
창 3이 가장 왼쪽 위치에 있는지 테스트하려면 if win_screenpos(3)[1] == 1
.
현재 창이 맨 위 위치에 있는지 테스트하려면 if win_screenpos(0)[0] == 1
.