为 tmux 重新配置发送前缀时出现问题

为 tmux 重新配置发送前缀时出现问题

我的目标是在本地机器上使用 Ck 作为 tmux 前缀,但是当我处于一个 tmux 会话中时,该会话本身包含一个进入托管 tmux 会话的机器的 ssh 会话,我想按 C-kj(或 Ck Cj,或其他)将前缀传递到远程 tmux 会话。

根据此处链接的 .tmux.conf: https://stackoverflow.com/a/9630367

解释如下:https://stackoverflow.com/a/8530024

我已设置以下内容:

# prefix and send-prefix settings.
unbind C-b
set -g prefix C-k
bind-key -n C-j send-prefix

看起来很简单,但不知何故上面的方法对我来说不起作用。Ck 在单个 tmux 会话上运行良好,但 Ck Cj 无法通过前缀到达远程会话。我显然忽略了一些简单的东西。

本地 tmux 在 Ubuntu 上是 1.6 版本

远程 tmux 通常在 RedHat 上,版本为 1.6。

注意:如果不进行任何这些设置,Cb Cb 会按预期将前缀发送到远程计算机。但我真的更喜欢 Ck 和 Ck Cj。

我的全部配置(针对本地和远程机器):

# prefix and send-prefix settings.
unbind C-b
set -g prefix C-k
bind-key -n C-j send-prefix

# Set scrollback buffer n lines.
set -g history-limit 5000

# Listen for activity on all windows.
set -g bell-action any

set -g status-bg blue
set -g status-fg white
set -g status-left '#[fg=yellow]#H'
set-window-option -g window-status-current-bg magenta

# Set vi mode bindings.
setw -g mode-keys vi

答案1

如果你想使用肌酸激酶发送肌酸激酶到内部会话(即发送前缀到tmux在另一边奔跑远程控制session),那么你可能想-n在绑定时省略该选项

# prefix and send-prefix settings.
unbind C-b
set -g prefix C-k
bind-key C-j send-prefix

使用上述配置(在两种情况下tmux实例),您可以输入(例如)氯乙烯在嵌套会话中创建一个新窗口。


-n在您链接的第二个答案中描述了使用绑定,因为它允许您使用单个键,就好像它只是前缀一样在嵌套会话中。例如,使用-n(您在问题中描述的配置),您可以输入在嵌套会话中创建一个新窗口。如果您不介意必须键入前缀,那么非绑定-n可能更好,因为绑定可能非常具有侵入性(它们使得在正在运行的内容中-n使用 -bound 键变得困难-ntmux-控制 ttys)。

相关内容