Joh*_*olt 9 keyboard-shortcuts tmux
我已经开始使用了,tmux
但我觉得使用Ctrlb0-9很烦人,因为它使用的频率很高。
如何绑定键盘,以便我只需要Ctrl0-9更改窗口(例如在 Chrome 中)?
我曾尝试在 中配置它.tmux.conf
,但没有任何成功。
这是我当前的 .tmux.conf 文件
bind C select-pane -t :.+
set -g status-bg black
set -g status-fg white
Run Code Online (Sandbox Code Playgroud)
Chr*_*sen 11
几个 Control+digit 键击生成了相当标准化的序列,但并不是所有的都这样。
这是我在xterm中发现的有用的内容:
C-1: 1 (i.e. not different form a plain 1 keystroke)
C-2: ^@
C-3: ^[
C-4: ^\
C-5: ^]
C-6: ^^
C-7: ^_
C-8: ^?
C-9: 9 (i.e. plain 9)
C-0: 0 (i.e. plain 0)
Run Code Online (Sandbox Code Playgroud)
在iTerm 2中生成相同的序列(尽管这是高度可配置的)。
如果您的终端模拟器生成类似的序列,那么您可以绑定其中的大部分(尽管您需要使用标准的非数字“名称”作为键,例如C-@
或^@
等)。您必须找到一种方法来配置您的终端,以便为任何尚未发送与未修改密钥不同的东西(例如,上面的 1、9 和 0)的任何击键发送某种序列。
然而,在没有前缀 ( bind -n …
) 的情况下绑定这些键可能会破坏很多东西。具体来说,^[
是Escape字符(几乎在所有终端控制序列中使用),^?
通常是Delete字符,^@
(如C-Space)通常用于Emacs(-style)编辑等。
可能更好的方法是配置您的终端以发送tmux 1.8 识别的 xterm 样式的“modifyOtherKeys”序列(如果您的xterm支持此功能,tmux 会自动要求这样做):
C-1: ^[[27;5;49~
C-2: ^[[27;5;50~
C-3: ^[[27;5;51~
C-4: ^[[27;5;52~
C-5: ^[[27;5;53~
C-6: ^[[27;5;54~
C-7: ^[[27;5;55~
C-8: ^[[27;5;56~
C-9: ^[[27;5;57~
C-0: ^[[27;5;48~
Run Code Online (Sandbox Code Playgroud)
这些键的tmux名称正好是C-0
,等等。
注意:1.8 之前的tmux版本无法识别这些键名和序列。
你会像这样绑定它们(在你的.tmux.conf
):
bind-key -n C-0 select-window -t :0
bind-key -n C-1 select-window -t :1
bind-key -n C-2 select-window -t :2
bind-key -n C-3 select-window -t :3
bind-key -n C-4 select-window -t :4
bind-key -n C-5 select-window -t :5
bind-key -n C-6 select-window -t :6
bind-key -n C-7 select-window -t :7
bind-key -n C-8 select-window -t :8
bind-key -n C-9 select-window -t :9
Run Code Online (Sandbox Code Playgroud)