2013-10-11 80 views
27

在TMUX手册页,我发现没有提到它的名字是如何键。TMUX发送密钥语法

例如,发送CTRL + [R到TMUX你会怎么做:

tmux send-keys C-r 

并发送ESC关键你做

tmux send-keys Escape 

是否有一个列表它将键盘按键映射到tmux sendkeys期望你如何命名它们?我有我错过了它的使用一些,长期被遗忘的程序的语法为了方便该备忘录的感觉。

注意,这是没有任何关系的键绑定。

+0

我习惯于把“^ r”当作control + r。从哪里来这个奇怪的替代语法? – xxjjnn

回答

34

通过send-keys使用的键名是相同的那些bind-key用途。
tmux manpageKey Bindings section

当指定键,最代表自己(例如“A”到 “Z”)。 Ctrl键可以用'C-'或'^'作为前缀,而Alt(元)用 'M-'作为前缀。此外,以下特殊键名接受:截至BSpaceBTABDC(删除),结束输入逃生F1F20首页IC(插入),NPAGE /下页/ PgDn键PPAGE /上一页/ PgUp键空间, 和标签

虽然他们没有在手册页中列出,也有特定的键盘,按键特殊的名字:KP0通过KP9KP/KP*KP-KP+KP.KPEnter

几个更神秘的键名(BTabICDCNPagePPage)可能来自的terminfo库。

的Emacs股使用C-M-前缀,表示修饰符(如果有这种约定的用途早些时候我也不会感到惊讶)的约定。

+0

有没有办法逃避这些绑定的键?假设我想发送字符串“enter” - send-keys做的是发送指定的密钥“Enter” –

+4

@ItamarKatz:使用'-l'(“literal”)标志:'send-keys -l Enter '会发送五个字母:'E'''''''''''(* tmux * 1.7+;对于以前的版本,将它们分解一点:例如'send-keys E nter')。 –

+4

如果你想发送一个命令并按回车键,用空格分隔它们:'send-keys'ls“Enter' – diabloneo