我发现了几个与此相关的问题,但没有找到可行的答案。
我正在使用 putty (0.63) 登录我的 ubuntu 14.04 vps。
在 tmux 中,我想使用 ctrl-left 和 ctrl-right 切换 tmux 窗口。
以下是我正在使用的 tmux 设置:
bind -n C-Right next-window
bind -n C-Left previous-window
set-option -g default-terminal "xterm-265color"
set-option -gw xterm-keys on
putty中的终端类型字符串设置为“xterm-256color”
当我没有启动 tmux 登录到 vps 时,我得到了以下密钥代码:
left: ^[[D
right: ^[[C
ctrl-left: ^[OD
ctrl-right: ^[OC
启动 tmux 后,ctrl-left 具有与 left 相同的代码,ctrl-right 具有与 right 相同的代码。
我尝试了 Putty 中的不同设置,但总是得到相同的代码。
我需要在 terminfo/inputrc/... 中做出更改吗?我该怎么做?
我可以使用 tmux 中的“set -g terminal-overrides”解决这个问题吗?在哪里可以找到代码列表或详细解释?
知道如何让它工作吗?
答案1
看来我只需要将其添加到 .tmux.conf 中:
set -g terminal-overrides "xterm*:kLFT5=\eOD:kRIT5=\eOC:kUP5=\eOA:kDN5=\eOB:smkx@:rmkx@"
我之前尝试过,但配置中已经有了不同的“set -g terminal-overrides”和其他设置。删除后一切正常。
我在这里找到了解决方案:https://bbs.archlinux.org/viewtopic.php?id=129912
更新:这是我经过一些更改后的完整 tmux 配置:
bind -n C-Right next-window
bind -n C-Left previous-window
set-option -g default-terminal "screen"
set -g terminal-overrides "xterm*:kLFT5=\eOD:kRIT5=\eOC:kUP5=\eOA:kDN5=\eOB:smkx@:rmkx@:XT:Ms=\E]52;%p1%s;%p2%s\007:Cc=\E]12;%p1%s\007:Cr=\E]112\007:Cs=\E[%p1%d q:Csr=\E[2 q,screen*:XT,*256col*:colors=256"
set-option -gw xterm-keys on
set-option -g assume-paste-time 1
set-option -g base-index 0
set-option -g bell-action any
set-option -g bell-on-alert off
set-option -g default-command ""
set-option -g default-path ""
set-option -g default-shell "/bin/bash"
set-option -g destroy-unattached off
set-option -g detach-on-destroy on
set-option -g display-panes-active-colour red
set-option -g display-panes-colour blue
set-option -g display-panes-time 1000
set-option -g display-time 750
set-option -g history-limit 2000
set-option -g lock-after-time 0
set-option -g lock-command "lock -np"
set-option -g lock-server on
set-option -g message-attr none
set-option -g message-bg colour16
set-option -g message-command-attr none
set-option -g message-command-bg colour16
set-option -g message-command-fg colour253
set-option -g message-fg colour253
set-option -g message-limit 20
set-option -g mouse-resize-pane off
set-option -g mouse-select-pane off
set-option -g mouse-select-window off
set-option -g mouse-utf8 on
set-option -g pane-active-border-bg default
set-option -g pane-active-border-fg colour144
set-option -g pane-border-bg default
set-option -g pane-border-fg colour16
set-option -g prefix C-b
set-option -g renumber-windows off
set-option -g repeat-time 500
set-option -g set-remain-on-exit off
set-option -g set-titles off
set-option -g set-titles-string "#S:#I:#W - "#T""
set-option -g status on
set-option -g status-attr none
set-option -g status-bg colour67
set-option -g status-fg black
set-option -g status-interval 15
set-option -g status-justify left
set-option -g status-keys emacs
set-option -g status-left "#[fg=colour232,bg=colour144] #S #[fg=colour144,bg=colour67,nobold,nounderscore,noitalics]"
set-option -g status-left-attr none
set-option -g status-left-bg default
set-option -g status-left-fg default
set-option -g status-left-length 100
set-option -g status-position bottom
set-option -g status-right "#[fg=colour16,bg=colour67,nobold,nounderscore,noitalics]#[fg=colour253,bg=colour16] %Y-%m-%d %H:%M #[fg=colour144,bg=colour16,nobold,nounderscore,noitalics]#[fg=colour232,bg=colour144] #h "
set-option -g status-right-attr none
set-option -g status-right-bg default
set-option -g status-right-fg default
set-option -g status-right-length 100
set-option -g status-utf8 on
set-option -g update-environment "DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY"
set-option -g visual-activity off
set-option -g visual-bell off
set-option -g visual-content off
set-option -g visual-silence off
set-option -g word-separators " -_@"