나의 ~/.tmux.conf
:
set -g prefix C-a
unbind C-b
bind C-a send-prefix
bind-key o split-window -v
bind-key e split-window -h
bind-key w kill-pane
(명령 키를 GNOME Teminator와 동일하게 만들기 위해)
상황: 창을 2개의 창으로 수평 분할한 후 Ctrl+ a Up화살표가 있는 창으로 전환한 후 이 창에서 셸 기록 명령을 보려면 잠시(2-3초) 기다려야 합니다. 를 다시 누르면 Up쉘 히스토리 명령이 표시되는 대신 다른 창으로 다시 전환되기 때문입니다. 어떻게 거절할 수 있나요?
답변1
위쪽, 아래쪽, 왼쪽 및 오른쪽( select-pane
바인딩 및 에 대한 동일한 키의 Control- 및 Meta- resize-pane
)은 기본적으로 "반복 가능한" 바인딩입니다( 를 통해 수행됨 bind-key -r
). 접두사 키와 단일 반복 가능한 키를 입력한 후 세션 repeat-time
옵션을 통해 지정된 밀리초 내에(기본값은 500ms) 내에 다른 반복 가능한 키를 입력할 수 있습니다(접두사를 다시 입력할 필요 없음).
repeat-time
다음 셸 명령을 사용하여 의 현재 값을 검사할 수 있습니다 .
tmux show-options -g | grep \^repeat-time # global
tmux show-options | grep \^repeat-time # this session
현재 세션에 대한 반복을 비활성화하려면 접두사인 콜론을 입력하고 다음 명령을 입력합니다.
set-option repeat-time 0
또는 0이 아닌 편안한 값을 찾을 수도 있습니다. 실제로 약 2000(예: 2s)의 값이 있는 경우 해당 값이 /etc/tmux.conf
.
모든 세션에 대해 반복을 비활성화하거나 제한 시간을 변경하려면 다음 명령을 사용하여 전역 값을 설정하세요.
set-option -g repeat-time 0
세션별 값을 설정한 경우 전역 값이 해당 세션에 적용되기 전에 설정을 해제해야 합니다( set-option -u repeat-time
). .tmux.conf
"영구적으로" 해제하려는 경우 전역 값을 설정하는 것이 좋습니다 .
Up에만 문제가 있는 경우 다음 없이 다시 바인딩할 수 있습니다 -r
.
bind-key Up select-pane -U
답변2
원하는 경우 특정 키 바인딩에 대한 반복을 끌 수도 있습니다. 예를 들어 창 간 전환을 위한 기본 바인딩은 다음과 같이 요약됩니다.
bind-key -r Up select-pane -U
bind-key -r Down select-pane -D
bind-key -r Left select-pane -L
bind-key -r Right select-pane -R
-r
다음과 같이 플래그 없이 이를 다시 만들 수 있습니다 .
bind-key Up select-pane -U
bind-key Down select-pane -D
bind-key Left select-pane -L
bind-key Right select-pane -R
개인적으로 나는 반복 불가능한 창 전환을 선호합니다. 창을 여러 개의 작은 창으로 분할한 경우 반복하는 것이 좋지만 설명된 것처럼 해당 창 내에서 실행되는 응용 프로그램(예: 쉘 기록, vim 등)과 주요 충돌이 발생할 수 있습니다. 어쨌든 일반적으로 창당 창은 2개 이하입니다. 그러나 각자 자신의 것입니다.