在tmux中少用Ctrl + B


17

我在中使用Ctrl+B命令前缀tmux,但是与Ctrl+Bin 冲突less,后者用于向上滚动文件。

我该如何工作?我是否必须在中设置其他命令前缀tmux?如果可以避免的话,我真的不想学习新的键绑定。

Answers:


18

显然,当两个程序都在监听时,您不能有两个键执行相同的操作。Tmux将首先获得它。您没有指定不想重新学习的键绑定集,但是您必须做一些不同的事情,因为两个应用程序都使用相同的键。

如果您仅偶尔使用它,则less可以通过按Ctrl+ BB(即Ctrl-B两次)tmux来传递真实内容,以将单个Ctrl-B传递给当前窗格中的应用程序。

如果要将tmux绑定更改为其他绑定(例如Ctrl+ Alike screen),可以将其添加到`〜/ .tmux.conf文件中:

unbind C-b
set -g prefix C-a

如果您想将其他东西用于less,则该G键通常已经绑定到文件的顶部,因此无需更改。如果该更改不适合您,则可以使用来重新绑定密钥lesskey


如果将tmux绑定更改为Ctrl+A,则将与命令开始冲突。我还将“ Ctrl + B + B”绑定到先前选择的窗口。
dogbane

1
@Caleb:在我的tmux(使用默认配置的Ubuntu 11.04)中,“ Ctrl + B B”什么都不做(手册页中也没有记录);必须使用“ Ctrl + B Ctrl + B”将Ctrl + B发送到应用程序。(通过对比,screen默认情况下使用“ Ctrl + A A”向应用程序发送“ Ctrl + A”。)不管怎么说,这是一个很好的答案。
Riccardo Murri

1
@RiccardoMurri:这是一个命名问题。我没有在B键之间留出一定的空格,以表示放弃了控件。通常,如果要释放控制键,则使用类似样式的键时,您会在键之间放置空格或逗号,但这不是一个明确定义的标准。有些人甚至不使用相同的+语法...
Caleb

@dogbane:如果将双CTRL-B重新绑定到默认值以外的其他东西,那是您的错,您将不得不重新映射它,将CTRL-B的传递版本映射到其他东西,或使用其他键少。
卡莱布

2
我使用@dogbane Ctrl+\ ,但这显然是个人喜好问题。如果您无法Ctrl+\ 在没有手指扭曲的情况下在键盘上打字,您将不会喜欢我的选择。
吉尔(Gilles)'所以


6

您可以使用tmux命令send-prefix。它将您的tmux键绑定前缀发送到当前窗口

例如,在.tmux.conf

set-option -g prefix C-a
bind-key v send-prefix

然后,按Ctrl-a+ v将发送Ctrl-a到终端。


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.