tmux 창 선택을 f1-f12 키에 바인딩하는 방법은 무엇입니까?

tmux 창 선택을 f1-f12 키에 바인딩하는 방법은 무엇입니까?

현재 저는 tmux 창 사이를 이동하기 위해 CB N을 사용하고 있습니다. 여기서 N은 제가 원하는 창의 번호입니다. f1을 눌러 첫 번째 창을 활성화하고 f2를 눌러 두 번째 창을 활성화할 수 있도록 f 키를 매핑하는 방법이 있습니까?

답변1

tmux접두사 키가 있든 없든 대부분의 키에 명령을 바인딩할 수 있습니다. [...] 또한 다음과 같은 특수 키 이름이 허용됩니다: Up, [...] F1To F12, [...].

(원천:man 1 tmux)

쉘에서 실행 tmux:

for n in 1 2 3 4 5 6 7 8 9 10 11 12; do
   tmux bind-key -T root "F$n" select-window -t "$n"
done

바인딩을 영구적으로 만들려면 .tmux.conf양식에 12줄을 편집하고 추가하세요.

bind-key -T root F1 select-window -t 1
# up to
bind-key -T root F12 select-window -t 12

노트:

  • tmuxWindows가 열거되지만 키 0가 없습니다 F0. 귀하의 요청에는 창 0이 포함되어 있지 않습니다.

  • F1..생성된 시퀀스는 F12주로 터미널 에뮬레이터와 해당 설정 등 여러 요소에 따라 달라집니다. , , , 등을 인식한다고 말할 수 있으므로 터미널 설정 tmux을 조정 해야 합니다. 예를 들어, Windows에서 PuTTY를 통해 Debian에 연결할 때 다음을 선택해야 합니다.^[OP^[OQ^[OR^[OS^[[15~^[OT엑스텀 R6퍼티에설정단말기건반기능 키 및 키보드. 나는 알아차렸다VT400그리고VT100+부분 작업. 반대 방향으로 조정할 수 있는지는 모르겠습니다(예: tmux터미널에 맞게 조정).

  • 일부 프로그램은 고유한 목적으로 기능 키를 사용하므로 사용자가 tmux그렇게 하기를 원할 수도 있습니다. 이 예제 스니펫은 및 에서 만들고 작동 .tmux.conf합니다 .F1F2mcvim

    # Using function keys to select windows, except in mc or vim
    tmux_commands_with_function_keys="mc vim"
    bind-key -T root F1 \
       if-shell 'echo "#{tmux_commands_with_function_keys}" | grep -q "#{pane_current_command}"' \
          'send F1' 'select-window -t 1'
    bind-key -T root F2 \
       if-shell 'echo "#{tmux_commands_with_function_keys}" | grep -q "#{pane_current_command}"' \
          'send F2' 'select-window -t 2'
    

관련 정보