如何快速将命令发送到嵌套的tmux会话?


30

我的.tmux.conf中包含以下内容

set -g prefix M-j
bind-key j  send-prefix

我需要按(Atl+ J)+(J)+绑定键才能将某些内容发送到嵌套的tmux会话。我觉得这很慢。有什么更好的办法吗?例如,我希望能够(Alt+ J)+(2x绑定键)在嵌套会话中执行操作。我经常在顶层tmux会话中执行命令,而不是在嵌套的会话中执行命令。此外,大家结合怎么来prefixC-a?我发现键入此组合非常慢且令人不快。我想念什么吗?


尽管我也不喜欢Ctrl-A,但您对其不愉快之处的评论表明您的小指可能到达了控制键。如果是这样,您可以考虑将大写锁定重新映射为控制键-这是我的工作,目的是使手指的扭曲保持在控制之下,然后Ctrl + A的挑战性也较小。
稳定狗2014年

@Stabledog你的假设是正确的。不过,我将capslock映射到ESC。您如何按Capslock + a键?
罗夫2014年

Ca组合以tmux之前的GNU Screen为基础。
库萨兰达

Answers:


33

如果您选择其他键,则可以将命令发送到嵌套会话少一键。我使用Ctrlt我的标准前缀和Ctrla嵌套会话。

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

# send the prefix to client inside window
bind-key -n C-a send-prefix

请注意,我使用-n开关。从的绑定键条目man tmux

如果指定了-n,则不必使用前缀键,命令仅绑定到键。

所以,作为一个例子,Ctrltc会打开TMUX一个新的窗口; Ctrlac在嵌套会话中执行相同的操作。


太棒了!这实际上使嵌套会话的速度与普通会话一样快。
罗尔夫(Rolf)

1
C-b如果您习惯了,则无需取消绑定。bind-key -n C-a send-prefix应该足够了。
utapyngo '16

0

使用ctrl-a的原因是大多数Unix黑客(至少我知道)重映射大写锁定来控制。这使得所有ctrlop都更快,尤其是ctrl-a。


2
是的,正如我在上面的上一条评论中所说:你们到底如何同时按下Capslock + a?我用小指按一个或另一个。
罗夫(Rolf)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.