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