【问题标题】:Is there a way to alias tmux commands?有没有办法给 tmux 命令起别名?
【发布时间】:2013-08-07 23:46:21
【问题描述】:

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

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

【问题讨论】:

    标签: tmux


    【解决方案1】:

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

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

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

    【讨论】:

    • 如何列出你目前定义的所有别名?
    • @SFbay007 :list-commands 最有意义,但用户定义的别名不会出现在该列表中(还没有!)
    【解决方案2】:

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

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

    alias vsp="tmux split-window -h"
    

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        例如:

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

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

        【讨论】:

          【解决方案5】:

          是的。在 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 参数:

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

          【讨论】:

          • 不确定这是否回答了原始问题。我相信最初的问题是询问从command-prompt 执行的命令是否可以别名,not bind-keyalias vsp="split-window -h" 的功能等价物。所以有人可以像C-b :vsp 这样在 Vim 中做垂直分割。
          猜你喜欢
          • 2011-07-03
          • 2022-07-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-08-31
          • 1970-01-01
          相关资源
          最近更新 更多