tmux绑定分号

问题描述 投票:3回答:2

有什么方法可以约束; (\ 059)到tmux中的命令?

默认情况下,它绑定到最后一个窗格;但是,我想将它重新绑定到select-pane -R。

我已经尝试将以下内容放在我的.tmux.conf中,但似乎没有工作:

  1. “bind \ 059 select-pane -R” - > tmux报告“unkown key \ 059”,但在忽略警告后,“;”有时确实按预期工作。
  2. “bind; select-pane -R” - > tmux报告“usage:bind-key ...”
  3. “绑定”; select-pane -R“ - > tmux报告”usage:bind-key ...“

我现在正在使用第一个选项,但我想要正确执行,所以每次启动tmux时都没有出现警告。

bind tmux
2个回答
2
投票

分号也用作tmux中的命令分隔符,因此为了绑定它,你需要转义它:

bind-key \; select-pane -R

1
投票

tmux引用有点古怪;它看起来非常像Bourne shell风格的引用,但它有细微的差别。

唯一可以逃避尾随(或单独)分号的是反斜杠:

bind \; select-pane -R

手册页的相关部分:

可以通过使用反斜杠转义它来包含文字分号(例如,在为bind-key指定命令序列时)。

尾随的未转义分号充当tmux命令之间的分隔符。

tmux向您展示bind-key用法(对于您的示例编号为2和3),因为当分号未转义时(即使它被引用,与shell不同),该行被解析为两个命令:bindselect-pane -R。第一个命令是不完整的(bind-key至少需要两个参数:一个键和一个命令)。

您的\059尝试(您的示例编号为1)同样无法调整绑定,因为在指定键时不支持八进制语法。 Prefix的默认绑定;是last-pane,它最终可能会向右移动一个窗格(即select-pane -R所做的),但前提是右边的下一个窗格恰好是以前活动的窗格。

© www.soinside.com 2019 - 2024. All rights reserved.