本地调试

新建 git 仓库并添加 [plugin-name].tmux

Tmux 配置文件中添加

run '~/path/[plugin-name].tmux'

重新加载

tmux source-file ~/.config/tmux/tmux.conf

Tmux 命令

Tmux 的内置变量

窗口

  • #I:窗口编号
  • #W:窗口名称
  • #F:窗口标志,表示窗口的状态,如
    • * :当前活动的窗口。
    • -:上一个访问的窗口。
    • #:标记的窗口。
  • #{window_index}:另一个表示窗口编号的变量,与 #I 类似。
  • #{window_flags}:表示窗口状态的标志,如 * 表示活动窗口,- 表示最后访问的窗口等。
  • #{?condition, if_true, if_false}:用于条件判断的语法,可以根据窗口状态来显示不同的内容
    • 示例: #{?window_active,* ,} - 如果窗口是活动窗口,则显示 * 否则显示空格
  • #{window_flags}:窗口的状态标志,类似于 #F,但使用的是 tmux 风格的条件语法。
  • #{window_name}:窗口名称,与 #W 相同。
  • #{window_active}:判断窗口是否为活动窗口,值为 1 或 0。
  • #{window_bell_flag}:如果窗口有响铃事件,则值为 1。
  • #{window_layout}:窗口布局的描述信息。
  • #{window_panes}:窗口中的面板数目。

面板相关变量

  • #{pane_id}:面板的唯一标识符。
  • #{pane_index}:面板的编号。
  • #{pane_title}:面板的标题。
  • #{pane_current_path}:面板的当前路径。
  • #{pane_current_command}:面板中当前运行的命令(如 vim、bash、ssh 等)。
  • #{pane_active}:判断面板是否为当前活动面板,值为 1 或 0。
  • #{pane_dead}:如果面板已经失效(如被杀死),则值为 1。
  • #{pane_left}:面板左边界的绝对坐标。
  • #{pane_right}:面板右边界的绝对坐标。
  • #{pane_top}:面板上边界的绝对坐标。
  • #{pane_bottom}:面板下边界的绝对坐标。

会话相关变量

  • #S:会话名称。
  • #{session_id}:会话的唯一标识符。
  • #{session_name}:会话名称(与 #S 相同)。
  • #{session_windows}:会话中的窗口数目。
  • #{session_attached}:会话是否有客户端连接,值为 1 或 0。

客户端相关变量

  • #{client_activity}:最后一次客户端活动的时间。
  • #{client_prefix}:判断前缀键是否按下,值为 1 或 0。
  • #{client_width}:客户端的宽度(以字符为单位)。
  • #{client_height}:客户端的高度(以字符为单位)。
  • #{client_termname}:客户端的终端名称

时间和日期

  • #T:当前时间(格式为 HH:MM)
  • #D:当前日期(格式为 Day Mon DD)。
  • #{t}:当前小时(24 小时制)。
  • #{s}:当前秒数。
  • #{min}:当前分钟数。
  • #{hour}:当前小时(24 小时制)。
  • #{year}:当前年份。
  • #{month}:当前月份。
  • #{day}:当前月份中的日期。