我的问题
tmux
键绑定需要两次单独的按键才能输入命令。第一个称为前缀,并设置为control+ a。第二个键执行实际命令,例如:
- c 创建窗口
- w 列表窗口
- n 下一个窗口
- w 上一个窗口
- f 寻找窗口
- , 名称窗口
- & 杀死窗口
问题是连续两个组合键既麻烦又慢。大多数其他选项卡式 UI(从 Chrome 到 Vim)都可以通过单个组合启用选项卡切换。
我尝试过什么
- 短时FW
- 例如,玩过
bind-key
和send-keys
bind-key C-c send-keys C-a n
我的问题
如何使用单个组合键运行特定的 tmux 命令,例如“下一个窗口”或“创建窗口”?
答案1
解决方案
我的文件中有这样的内容~/.tmux.conf
:
bind -n C-h select-pane -L
映射<Ctrl>-h
到左侧的选择窗格。
手动的参考为了-n
论证
bind-key [-nr] [-T key-table] key command [arguments]
(alias: bind)
Bind key key to command. Keys are bound in a key table. By default (without -T), the key is
bound in the prefix key table. This table is used for keys pressed after the prefix key (for
example, by default `c' is bound to new-window in the prefix table, so `C-b c' creates a new
window). The root table is used for keys pressed without the prefix key: binding `c' to
new-window in the root table (not recommended) means a plain `c' will create a new window.
-n is an alias for -T root. Keys may also be bound in custom key tables and the
switch-client -T command used to switch to them from a key binding. The -r flag indicates
this key may repeat, see the repeat-time option.
To view the default bindings and possible commands, see the list-keys command.
答案2
这是选择窗口的解决方案。使用适合您的绑定。接受的答案遇到了问题,使用C-h
,您可以将其与 配对C-l
,但ctrl+l
通常在 shell 中用于清除屏幕。
bind-key -n C-S-Left previous-window
bind-key -n C-S-Right next-window
另请select-window
参阅man tmux
更改窗口的其他方法。