vim에서 Ctrl + F8을 어떻게 매핑합니까?

vim에서 Ctrl + F8을 어떻게 매핑합니까?

여러 가지 방법으로 Ctrl + F8을 매핑하려고 했지만 제대로 작동하지 않습니다. 몇 가지 조사를 한 후에 vim이 모든 터미널 키코드를 지원하지 않으며 터미널 키코드를 빈 vim 키코드(예: F13)에 할당해야 한다는 것을 알게 되었습니다. 나는 팔로우했다이것성공하지 못한 채 단계별로 안내합니다.

내가 한 일은 다음과 같습니다.

  1. cat을 사용하여 Ctrl + F8에 대한 터미널(URxvt) 키코드를 찾으세요. 결과는 다음과 같습니다: ^[[19^
  2. 내 플러그인 파일에 다음 줄을 추가했습니다.

set <F13>=^[[1;2B nnoremap <F13> :call foobar

어떤 제안이 있으십니까?

답변1

[테스트 후 댓글을 답변으로 옮겼습니다.]

귀하의 set명령은 스캔 코드와 동일한 값을 사용하지 않습니다. 또한 ^및 의 두 문자 대신 이스케이프 문자를 사용하고 있는지 확인해야 합니다 [. 이스케이프 문자를 "하드 코딩"하지 않고 쉽게 만들려면 다음을 사용합니다 :execute.

:exe "set <F13>=\e[19^"
:nnoremap <F13> :echo "It works!"<CR>

관련 정보