Tmux 키 바인딩 문제


8

화면을 잠시 사용하지 않고 tmux 사용으로 다시 전환했습니다. tmux의 기본값 + 대신 화면의 Ctrl+ a시퀀스 를 사용하는 tmux 구성이 있습니다.Ctrlb

그러나 내가 찾은 한 가지 문제는 ctrl-a를 누른 다음 이전 화면의 경우 p를 누르거나 다음 화면의 경우 ctrl 키를 해제하지 않고 n을 누르면 tmux가 키 시퀀스를 무시한다는 것입니다. 나는 누르면 Ctrl+ a의 출시 Ctrl를 선택한 후를 누르 n거나 p그것을 잘 작동합니다.

무엇이 잘못되었을 지에 대한 생각? 내 구성은 다음과 같습니다.

# $Id: t-williams.conf,v 1.1 2009/11/02 18:59:28 nicm Exp $
#
# ~/.tmux.conf - tmux terminal multiplexer config
# Thayer Williams (http://cinderwick.ca)
# "Feel free to do whatever you like with it."

# set prefix key to ctrl+a
unbind C-b
set -g prefix C-a

# send the prefix to client inside window (ala nested sessions)
bind-key a send-prefix

# toggle last window like screen
bind-key C-a last-window

# confirm before killing a window or the server
bind-key k confirm kill-window
bind-key K confirm kill-server

# toggle statusbar
bind-key b set-option status

# ctrl+left/right cycles thru windows
bind-key -n C-right next
bind-key -n C-left prev

# open a man page in new window
bind / command-prompt "split-window 'exec man %%'"

# switch split window keys
unbind %
bind | split-window -h
bind - split-window -v

# quick view of processes
bind '~' split-window "exec htop"

# scrollback buffer n lines
set -g history-limit 10000

# listen for activity on all windows
#set -g bell-action any
setw -g monitor-activity off
set -g visual-activity off

# on-screen time for display-panes in ms
set -g display-panes-time 2000

# start window indexing at one instead of zero
set -g base-index 1

# enable wm window titles
set -g set-titles on

# Automatically set window title
setw -g automatic-rename

# statusbar --------------------------------------------------------------

set -g display-time 2000

# default statusbar colors
set -g status-fg white
set -g status-bg cyan
set -g status-attr default

# default window title colors
set-window-option -g window-status-fg black
set-window-option -g window-status-bg cyan
set-window-option -g window-status-attr default

# active window title colors
set-window-option -g window-status-current-fg white
set-window-option -g window-status-current-bg black
set-window-option -g window-status-current-attr bright

# command/message line colors
set -g message-fg blue
set -g message-bg white
set -g message-attr dim

# center align the window list
set -g status-justify centre

# show some useful 
set -g status-left "[#[fg=black]#H#(uptime | cut -d ',' -f 3- | sed -e 's/ load average: //' | sed -e 's/  / /g')#[default]]"
set -g status-left-length 50
set -g status-right "[#[fg=black]%a %Y-%m-%d %H:%M#[default]]"
set -g status-right-length 50

set -g default-terminal "screen"

답변:


7

화면에서 원래 동작을 모방하는 솔루션을 찾았습니다 (나머지는 창 드레싱이므로 구성의 관련 부분 만 포함).

# set prefix key to ctrl+a until I have time to adapt
unbind C-b
set -g prefix C-a

# send the prefix to client inside window (ala nested sessions)
bind-key a send-prefix

# toggle last window like screen
bind-key C-a last-window

# navigate through windows like screen
bind-key C-a-n next
bind-key C-a-p prev

키 시퀀스를 직접 연결하는 것이 해결책이었습니다. 나는 당신이 실제로 그렇게 할 수 있다는 것을 몰랐지만 완벽하게 작동하며 여전히 send-prefix 옵션을 유지할 수 있습니다 (문제의 일부였습니다).


다른 사람들을 도울 솔루션으로 자신의 답변을 표시 할 수 있다고 생각합니다.
gitaarik

나는 기본 키 바인딩을 사용하면 난 내에게 조금 다른 설정 : bind-key C-nbind-key C-p. Ctrl 키를 계속 누르고 있습니다.
SergioAraujo

2

Tmux는 ctrl 키가 C 형식 일 때 수행 된 모든 키 누름을 고려합니다. 그래도 동일한 효과를 추가 bind C-p prev하고 bind C-n next얻을 수 있습니다.


고마워요, 알렉스, 저를 올바른 길로 인도했습니다. ctrl-p와 ctrl-n을하고 싶지 않았습니다. 나는 여전히 tmux가없는 일부 컴퓨터를 관리하고 있으며 때때로 화면을 계속 사용하기 때문에 원래 화면 동작에 약간 더 가까운 것을 찾고있었습니다. 그러나 당신의 의견은 그것을 올바르게하기 위해 내가 할 수있는 일을했습니다.
Morgan Blackthorne
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.