방금 tmux를 사용하기 시작했고 메뉴 키를 접두사에 바인딩하려고 했지만 "잘못된 키 바인딩 오류"가 발생했습니다. 어떤 키가 유효한지 또는 활성화하기 위해 conf 파일에 무엇을 써야 하는지 아는 것이 도움이 될까요? , 그거 좋다
답변1
멀티플렉서문서이 주제는 다소 모호합니다(정의접두사열쇠):
prefix
열쇠
허용되는 키를 접두사 키로 설정합니다. 아래에 설명된 표준 키 외에키바인딩, 접두어를 설정하지 않으려면 특수 키 'None'으로 접두어를 설정할 수 있습니다.
하지만 소스코드를 읽어보세요여기
if (cmd_get_entry(self) == &cmd_send_prefix_entry) {
if (args_has(args, '2'))
key = options_get_number(s->options, "prefix2");
else
key = options_get_number(s->options, "prefix");
cmd_send_keys_inject_key(item, item, key);
return (CMD_RETURN_NORMAL);
}
key_code
tmux는 접두사가 단일 바이트이거나 숫자와 연결될 수 있는 것으로 예상한다는 것을 우리에게 알려줍니다 . 터미널 데이터베이스를 통해 이 연결을 수행합니다( screen
및 항목에 대해 다소 편향되어 있음 xterm
).
매뉴얼 페이지에는 다음과 같이 나와 있습니다.
또한 다음 특수 키 이름이 허용됩니다.
와 관련된 이름을 가리킨다.용어 정보기능: 하드코딩된 문자열을 사용하여 누락된 기능을 보완할 수 있습니다. 연결은 다음에서 찾을 수 있는 여러 테이블을 통해 설정됩니다.
MENUtmux 레코드의 지정된 특수 키 중 하나와 일치하는 문자열을 보내는 경우 tmux에서 "그냥 사용할" 수 있습니다. 내 키보드에서 메뉴 키는 다음을 보냅니다(사용자의 키는 다를 수 있음).
^[[29~
이것은 \E[29~
terminfo에 있을 것입니다. 그러나 기본 터미널 설명에 나열된 키 중 어느 것도 xterm
이를 수행하지 않습니다. 기본이 아닌 일부 터미널 설명의 경우 F10다음과 같을 수 있습니다.VT220) 또는 F16(VT420), xterm을 가능하게 합니다(변경하여키보드 유형그리고 다르게 설정하세요 TERM
).
MENU다른 터미널 에뮬레이터를 사용하면 기능 키 중 하나로 변경하는 등 키 누르기가 보내는 내용을 변경할 수 있습니다 .F1F12