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

두 터미널 에뮬레이터는 Ctrl/화살표 키에 대해 서로 다른 문자 시퀀스를 보냅니다. 설정한 경우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'.

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

재미있게,이 정보를 사용하지 마십시오용어 정보. 그것은 단지 사용용어 모자인터페이스(2자 이름만 사용하세요. 2자가 아닙니다.) 구성 어딘가에 st의 다른 문자 시퀀스를 해석하는 데 방해가 될 수 있는 해결 방법이 있습니다. 그것은 사용될 수 있습니다TERM하지만 일부 하드 코딩된 애플리케이션별 방식으로만 가능합니다.

댓글로 후속 조치를 취하고,st-256color복사xterm수정된 기능 키(물론 수정되지 않은 기능 키)의 동작rxvt-unicode사용가치를 얻다기능 키 등의 동작을 수정합니다. infocmp는 두 기능 키 세트 사이에 138개의 차이점이 있음을 보여줍니다(수정된 기능 키 계산).

관련 정보