是否可以将 tmux 命令绑定到组合键并直接使用它而无需先按下前缀?
我发现C-b + n
切换窗格太麻烦了,所以我想知道我是否可以绑定,C-1
例如,切换到窗格#1。
或者也许有一种方法可以让终端仿真器中的快捷方式C-b + 1
在我按下时发送C-1
?
谢谢!
答案1
对于您的示例,请使用:
bind-key -n C-1 select-pane -t 1
该-n
参数用于bind-key,即无前缀。
答案2
我对这里接受的答案有异议。
根据tmux(1)
,-n is an alias for -T root
。因此,包含-n
实际上并不意味着“没有前缀”,而是意味着命令将绑定到根表,这是“不推荐的”。
tmux(1)
:
根表用于不带前缀键的按键:将“c”绑定到根表中的 new-window(不推荐)意味着普通的“c”将创建一个新窗口
这似乎是在说:
bind -n c new-window
按下时将创建一个新窗口c
,事实上也是如此。
作者说“不推荐”的幽默之处在于,在一般的 tmux 会话中,“c”当然会被按很多次,因为“c” 是英语中第三常见的字母。
再举一个例子,这是快速 tmux 窗口切换(使用 PageUp/PageDown 键):
unbind NPage
unbind PPage
bind -n PPage previous-window
bind -n NPage next-window
答案3
我喜欢用Alt+,
向左移动窗口,Alt+.
用 向右移动窗口。乍一看,你可能觉得这个选择没什么意义,但这些键也用于 <>,我只是懒得再加个 shift 键。
# switch windows without prefix
bind -n M-, select-window -t -1
bind -n M-. select-window -t +1
窗格也一样。我喜欢使用Alt+[
和Alt+]
。
bind -n M-[ select-pane -t -1
bind -n M-] select-pane -t +1
答案4
我在 .tmux.conf 中使用 vim 样式窗格选择
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
也可以看看
我从这里复制了 tmux 端的配置:
- 智能窗格切换,可感知 Vim 拆分https://github.com/christoomey/vim-tmux-navigator