Vim 바인딩이 st에서 작동하지 않습니다

Vim 바인딩이 st에서 작동하지 않습니다

내 vimrc에는 vim의 분할 창을 탐색하기 위한 키 바인딩이 설정되어 있습니다. 그들은 urxvt에서는 완벽하게 작동하지만 st에서는 작동을 거부합니다.

내가 가진 코드는

nnoremap <silent> <C-Up> :wincmd k<CR>
nnoremap <silent> <C-Down> :wincmd j<CR>
nnoremap <silent> <C-Left> :wincmd h<CR>
nnoremap <silent> <C-Right> :wincmd l<CR>

어떤 도움이라도 주시면 감사하겠습니다.

답변1

두 터미널 에뮬레이터는 컨트롤/화살표 키에 대해 서로 다른 문자 시퀀스를 보냅니다. 설정한 경우TERM제대로 작동하면 대부분의 응용 프로그램이 작동합니다.

이는 터미널 데이터베이스를 사용하고 있다고 가정합니다.

참고로 두 터미널은 다음을 사용하여 비교합니다.

infocmp -x urxvt st |grep 'k[[:upper:]].*5:'

또는 (포장업체의 선호도에 따라)

infocmp -x rxvt-unicode st |grep 'k[[:upper:]].*5:'

이 같은:

kDC5: '\E[3\^', NULL.
kDN5: '\EOb', '\E[1;5B'.
kEND5: '\E[8\^', NULL.
kHOM5: '\E[7\^', NULL.
kIC5: '\E[2\^', NULL.
kLFT5: '\EOd', '\E[1;5D'.
kNXT5: '\E[6\^', '\E[6;5~'.
kPRV5: '\E[5\^', '\E[5;5~'.
kRIT5: '\EOc', '\E[1;5C'.
kUP5: '\EOa', '\E[1;5A'.

컨트롤/화살표 키는kDN5(아래에),kLFT5(왼쪽),kRIT5(오른쪽) 그리고kUP5(위로).

흥미롭게도,정력이 정보를 사용하지 않습니다용어 정보. 그것은 단지텀캡인터페이스(2자 이름만 사용합니다. 2자가 아닙니다.) 구성 어딘가에 st의 서로 다른 문자 시퀀스를 해석하는 데 방해가 될 수 있는 해결 방법이 있습니다. 다음을 사용할 수도 있습니다.TERM하지만 일부 하드 코딩된 애플리케이션별 방식으로만 가능합니다.

댓글에 이어,st-256color사본xterm수정된 기능 키(물론 수정되지 않은 기능 키)에 대한 의 동작, 그리고rxvt-unicode용도rxvt수정된 기능 키 등에 대한 의 동작 infocmp는 두 기능 키 세트 간의 138가지 차이점을 보여줍니다(수정된 키 수 계산).

관련 정보