2013-10-11 200 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