2012-09-30 68 views
3

有什麼方法可以綁定; (\ 059)到tmux中的命令?tmux綁定分號

默認情況下,它綁定到最後一個窗格;不過,我想重新將其選擇爲-R。

我試圖把我的.tmux.conf以下,但沒有一個似乎工作:

1) 「綁定\ 059選擇窗格-R」 - > TMUX報告 「未知鍵\ 059」,但在忽視警告後,「;」有時按預期工作。

2) 「結合;選擇窗格-R」 - > TMUX報告 「的用法:綁定密鑰...」

3)「綁定 ';' select-pane -R「 - > tmux報告」usage:bind-key ...「

我現在正在使用第一個選項,但我想正確地做,所以我沒有警告每次我開始tmux時都會出現。

回答

2

分號也用作在TMUX命令分隔符,所以爲了將其綁定,則需要轉義:

bind-key \; select-pane -R 
1

TMUX引用是有點奇特;它看起來非常像Bourne shell式的引用,但它有細微的差異。

工程,以逃避尾隨(或單身)分號的唯一事情是一個反斜槓:

bind \; select-pane -R 

手冊頁的相關部分:

字面上的分號可以 包括通過用反斜槓轉義它(例如,當指定 命令序列到綁定鍵時)。

尾隨,未轉義分號充當TMUX命令之間的隔板。

TMUX正顯示出你的bind-key使用(你的實例編號爲2和3),因爲當分號轉義(即使它被引用,不像外殼),該行被解析爲兩個命令:bindselect-pane -R。這些命令中的第一個不完整(bind-key至少需要兩個參數:一個鍵和一個命令)。

您的\059嘗試(您的示例編號爲1)同樣無法調整綁定,因爲指定鍵時不支持八進制語法。默認綁定爲前綴;last-pane,最終可能會將窗格向右移動(即select-pane -R所做的操作),但前提是右側的下一個窗格碰巧是以前的活動窗格。

+0

這種方法是否也可以綁定'#'?它通常表示一個註釋(至少vim認爲所有.conf文件遵循'#'是註釋規則) –

+0

@StevenLu:分號有點特殊。您可以使用引號來保護'#':'bind-key'#'display-message octothorpe'。 –

+0

哦,很酷,謝謝。嘿,如果您在我爲此提出的問題上發佈相同答案,請免費+15分。 –