我有什么办法可以约束; (\ 059)到tmux中的命令?
默认情况下,它绑定到最后一个窗格;但是,我想将它重新绑定到select-pane -R。
我已经尝试将以下内容放在我的.tmux.conf中,但似乎都没有:
“bind \ 059 select-pane -R” - > tmux报告“unkown key \ 059”,但在忽略警告后,“;”有时确实按预期工作。
“bind; select-pane -R” - > tmux报告“usage:bind-key ...”
“bind”;' select-pane -R“ - > tmux报告“usage:bind-key ...”
我现在正在使用第一个选项,但我想要正确使用,所以每次启动tmux时都没有出现警告。
答案 0 :(得分:2)
分号也用作tmux中的命令分隔符,所以为了绑定它,你需要转义它:
bind-key \; select-pane -R
答案 1 :(得分:1)
tmux 引用有点古怪;它看起来非常像Bourne shell风格的引用,但它有微妙的差异。
唯一可以逃避尾随(或单独)分号的是反斜杠:
bind \; select-pane -R
手册页的相关部分:
字面分号可以 通过使用反斜杠转义它(例如,指定时) 命令序列到bind-key)。
尾随的未转义分号充当 tmux 命令之间的分隔符。
tmux 向您显示bind-key
用法(对于您的示例编号为2和3),因为当分号未转义时(即使它被引用,与shell不同),该行被解析为两个命令:bind
和select-pane -R
。第一个命令是不完整的(bind-key
至少需要两个参数:一个键和一个命令。)
您的\059
尝试(您的示例编号为1)同样无法调整绑定,因为在指定键时不支持八进制语法。 前缀 ; 的默认绑定是last-pane
,最终可能会向右移动窗格(即select-pane -R
做什么),但仅限于如果右侧的下一个窗格恰好是以前活动的窗格。