有没有办法别名tmux命令?

时间:2013-08-07 23:46:21

标签: tmux

tmux有一个可以通过C-b :访问的命令模式,我想知道是否有办法在.tmux.conf文件中将split-window文件中的命令别名用于我使用的更多内容通常喜欢vim中的vsp

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

5 个答案:

答案 0 :(得分:2)

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

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

alias vsp="tmux split-window -h"

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

值得注意的是,如果最小化输入是目标,tmux命令可以缩短为最短的明确前缀:spsplit-window做同样的事情。

答案 1 :(得分:2)

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

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

然后,您可以按照期望的方式在命令提示符中使用:vsp

答案 2 :(得分:1)

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

例如:

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

没有涉及外部shell,没有产生新进程。

答案 3 :(得分:0)

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

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

如果您不想使用前缀(C-b),只需添加-n param:

bind-key -n C-right next # C - → to move to next window.

答案 4 :(得分:0)

您可以使用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是您的前缀)