Tmux - 无法使用“Shift + 箭头”在 Mac OS 上切换窗口

Tmux - 无法使用“Shift + 箭头”在 Mac OS 上切换窗口

最近我买了一台用于工作的 Mac 电脑,作为 Tmux 的粉丝,我确实将它与我最喜欢的插件和 .tmux.conf 文件一起安装了,这些插件和文件是我在我的个人 Linux 机器上使用的。

经过一些调整使其可以在 Mac OS 上使用后,唯一仍然不起作用的是我使用“Shift + 箭头”切换窗口的快捷方式在这台 Mac 电脑上不起作用。

我将其放入我的 .tmux.conf 中:

# Set this on Mac OS

set-option -g -w xterm-keys on

# Shift arrow to switch windows 

bind -n S-Left previous-window
bind -n S-Right next-window

我猜想 Shift 键正在被其他东西使用。当我这样做时

tmux list-keys | grep "S-"

输出如下:

bind-key -r -T prefix       S-Up                 refresh-client -U 10
bind-key -r -T prefix       S-Down               refresh-client -D 10
bind-key -r -T prefix       S-Left               refresh-client -L 10
bind-key -r -T prefix       S-Right              refresh-client -R 10
bind-key    -T root         S-Left               previous-window
bind-key    -T root         S-Right              next-window

我尝试按如下方式解除绑定:

unbind-key S-Left
unbind-key S-Right

但是“shift+arrow”仍然没有任何作用。

你们知道如何解决这个问题吗?

谢谢!

西兹。

答案1

几年前我使用 OSX 时遇到过同样的问题,但后来解决了。我现在不使用 OSX,因此我根据我记得的内容发布了此解决方案。

我认为,首先您需要Shift+arrow从终端偏好设置或 OSX 系统偏好设置中禁用键绑定。然后,您需要添加新的键绑定Shift+arrow(在终端偏好设置中)以映射所需的 byobu 命令。

基于https://github.com/tmux/tmux/blob/master/tty-keys.cShift+Up映射到\033[a。因此,在终端首选项中,为 添加新的键绑定,Shift+Up并将命令添加为:Escape Sequence+ 。对其他键[a执行相同操作。Shift+arrow

请注意,我是根据我模糊的记忆发布这篇文章的。但解决方案肯定是这样的。尝试一些其他修改,然后让我们知道哪些对你有用。

相关内容