14

tmux 有一个可以通过访问的命令模式,C-b :我想知道是否有一种方法可以将我的.tmux.conf文件中的命令别名为我在 vim 中split-window更常用的东西。vsp

我知道我可以绑定键盘快捷键,bind但我也可以为命令设置别名吗?

4

5 回答 5

7

tmux 2.4 添加了执行此操作的command-alias数组选项,因此例如您可以这样做

:set -s command-alias[10] vsp='split-window -h'

然后您可以:vsp像您期望的那样在命令提示符中使用。

于 2018-06-19T12:58:08.970 回答
4

从 tmux 2.0 开始,这似乎是不可能的。

但是,您可以做的一件事是从 shell 向封闭的 tmux 会话发送命令。例如,这意味着您可以创建一个可以拆分窗口的bash别名:

alias vsp="tmux split-window -h"

然后,您可以vsp从 bash 提示符运行以垂直拆分 tmux 窗口。根据您的具体用例,这可能会有所帮助。

还值得注意的是,如果最小化输入是目标,则 tmux 命令可以缩短为它们最短的明确前缀:spsplit-window.

于 2015-11-04T16:53:54.757 回答
2

您可以使用bind. 这是打开mouse-mode和关闭的示例别名:

bind m \
    set -g mode-mouse on \;\
    set -g mouse-resize-pane on \;\
    set -g mouse-select-pane on \;\
    set -g mouse-select-window on \;\
    display 'Mouse mode ON'

bind M \
    set -g mode-mouse off \;\
    set -g mouse-resize-pane off \;\
    set -g mouse-select-pane off \;\
    set -g mouse-select-window off \;\
    display 'Mouse mode OFF'

现在您可以轻松地使用Ctrl+B m它来打开和Ctrl+B M关闭它(假设Ctrl+B是您的前缀)

于 2017-06-08T10:29:15.197 回答
1

有一个 mod 不仅允许别名,还允许在 tmux 中创建新命令:http: //ershov.github.io/tmux/

例如:

proc vsp {args} { split-window -h {*}$args }

不涉及外部外壳,不产生新进程。

于 2016-04-18T15:43:34.307 回答
0

是的。bind-key在你的 tmux.conf 中使用。例如拆分 tmux 窗口使用:

bind-key v split-window -v #C-b v to split vertically
bind-key h split-window -h #C-b h horizontal

如果您不想使用前缀 (Cb),只需添加 -n 参数:

bind-key -n C-right next # C - → to move to next window.
于 2014-03-06T07:19:31.407 回答