tmux 복사 모드에 대한 탐색 키를 재정의하는 방법이 있습니까?

tmux 복사 모드에 대한 탐색 키를 재정의하는 방법이 있습니까?

tmux 복사 모드에서 화살표 대신 Alt+키 조합을 사용하여 커서를 이동하고 싶습니다. tmux에서 이 작업을 수행하도록 하는 방법이 있나요?

내가 원하는 정의는 다음과 같습니다.

Alt+i: up
Alt+l: right
Alt+j: left
Alt+k: down
Alt+o: forward word
Alt+u: backward word

tmux를 vi 모드로 전환하고 싶지 않습니다.

답변1

결과적으로 emacs-copy테이블의 키 바인딩을 편집해야 합니다. 위에서 필요한 변경을 수행한 방법은 다음과 같습니다.

먼저 tmux에 다음 명령을 입력하여 현재 바인딩이 무엇인지 확인했습니다(Prefix+colon 누르기) list-keys -t emacs-copy. 이것은 나에게 바인딩된 키 목록을 제공합니다이맥스 복사패턴을 살펴보고 어떤 명령이 내가 원하는 대로 작동하는지 알아냈습니다.

그런 다음 ~/.tmux.conf 파일에 다음과 같이 적절한 키 바인딩을 추가했습니다.

bind-key -t emacs-copy M-j cursor-left
bind-key -t emacs-copy M-i cursor-up
bind-key -t emacs-copy M-l cursor-right
bind-key -t emacs-copy M-k cursor-down
bind-key -t emacs-copy M-u previous-word
bind-key -t emacs-copy M-o next-word

마지막으로 tmux 내에서 tmux 명령을 실행하여 source ~/.tmux.conf세션을 종료하고 다시 로드하지 않고 키 입력을 바인딩했습니다.

답변2

이는 최근 tmux 버전에서 (분명히) 변경되었습니다. tmux에는 키 테이블 2.9a이 없는 것 같지만 emacs-copy(그러나 하나 있음 copy-mode) bind-key키 테이블에 대한 인수는 (만)입니다 -T(대문자 사용에 유의하세요). 예를 들어 복사/모드에서 Ctrl-왼쪽/오른쪽은 단어를 건너뜁니다.

bind-key -T copy-mode C-Left send-key -X previous-word                                                                  
bind-key -T copy-mode C-Right send-key -X next-word   

관련 정보