
在 tmux 中,我知道我們可以使用 \; 將多個命令連結到一個鍵。看這裡 但在 vi 模式下,我希望按一個鍵即可轉到目前行的開頭、開始選擇、轉到行尾、複製選擇。
在 tmux.conf 中如果我給以下內容
bind-key -t vi-copy 's' start-of-line \; begin-selection \; end-of-line \; copy-selection \;
它給了我這個: 69: usage: bind-key [-cnr] [-t key-table] key command [arguments]
錯誤。
或者是否有任何替代方法可以用單鍵猛拉當前行。
答案1
不幸的是,特定於模式的綁定(使用 完成-t
)目前一次僅支援一個命令。此外,該命令必須是特定於模式的命令之一,而不是任何通用命令多路復用器命令。在原始程式碼中,該函數cmd_bind_key_check
在使用時將非選項參數限制為恰好兩個-t
:一個鍵和一個命令;這就是為什麼您會收到使用訊息(儘管該訊息不是很有啟發性)。
不過,您可以使用呼叫該copy-end-of-line
指令來儲存幾次擊鍵。在vi-copy
模式中:使用0 D
而不是0 Space $ Enter
.在emacs-copy
模式中:C-a C-k
而不是C-a C-Space C-e C-w
.