tmux에서 접두사 키와 명령 키 사이의 시간 초과를 줄이는 방법은 무엇입니까?

tmux에서 접두사 키와 명령 키 사이의 시간 초과를 줄이는 방법은 무엇입니까?

나의 ~/.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개 이하입니다. 그러나 각자 자신의 것입니다.

관련 정보