Tmuxinator学习笔记

使用环境

date ==> 2019-05-28 12:53

OS ==> Kernel: x86_64 Linux 5.1.4-arch1-1-ARCH

shell ==> zsh 5.7.1

tmux ==> tmux 2.9a

tmuxinator ==> tmuxinator 1.1.0

Tmuxinator

安装

配置YAML

tmuxinator 使用 YAML 语法来定义 tmux 的 windows 与 panes,下面以进行听音乐或看视频等操作的 project 为示例。

1
2
3
$ tmuxinator new/editor/open vimu # new、editor、open 都可以新建一个project

$ cat ~/.config/tmuxinator/vimu.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
name: vimu # tmux session name
root: ~/ # tmux 的全局根目录

windows:
- music: # window name
layout: even-horizontal # pane 布局方式,even-horizontal,
# even-vertical, main-horizontal, main-vertical, or tiled
root: ~/Music/CloudMusic/ # pane 的根目录
panes:
- none:
- none:
- video:
layout: even-horizontal
root: ~/Videos/
panes:
- japan: # 第一个 pane
- cd 日本 # pane 的第一个命令
- american: # 第二个 pane
- cd 欧美

命令

1
2
3
4
5
6
7
8
9
10
11
12
13
tmuxinator commands                          # 列出 tmuxinator 可用命令
tmuxinator copy [EXISTING] [NEW] # 复制已存在的项目配置到新项目并编辑
tmuxinator debug [PROJECT] [ARGS] # 输出由配置生成的创建 tmux 的 shell 命令
tmuxinator delete [PROJECT1] [PROJECT2] ... # 删除项目
tmuxinator doctor # 检查 tmux 是否已安装,$SHELL、$EDITOR是否已设置
tmuxinator help [COMMAND] # 查看命令文档
tmuxinator implode # 删除所有的配置
tmuxinator list # 列出所有的项目名称
tmuxinator local # 使用 ./.tmuxinator.yml 创建 tmux session
tmuxinator new [PROJECT] [SESSION] # 新建并打开项目配置
tmuxinator start [PROJECT] [ARGS] # 创建 tmux session
tmuxinator stop [PROJECT] # 使用 yaml 配置停止tmux session
tmuxinator version

建议使用的 tmuxinator 缩写,但是缩写的命令一般都是命令的前几位字母,并不支持补全。而且部分命令都只是其他命令的别名,也不支持补全,比如 open、editor 是 new 的别名。

1
2
3
4
5
6
7
new     ==>   n[ew]、o[pen]、e[ditor]
list ==> l[ist]
delete ==> r[m]、d[elete]
start ==> s[tart]
stop ==> st[op]
version ==> v
help ==> help

设置shell命令补全

以zsh为例。

  1. tmuxinator/tmuxinator下载 tmuxinator.zsh。
  2. 在 ~/.zshrc中添加一句:source /path/to/tmuxinator.zsh
  3. source ~/.zshrc。

tmux plugin manager

安装

  1. clone tpm:

    1
    git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

  2. 在 tmux.conf 中添加下面内容。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # List of plugins
    set -g @plugin 'tmux-plugins/tpm'

    # Other examples:
    # set -g @plugin 'github_username/plugin_name'
    # set -g @plugin 'git@github.com/user/plugin'
    # set -g @plugin 'git@bitbucket.com/user/plugin'

    # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
    run -b '~/.tmux/plugins/tpm/tpm'

使用

安装插件

  1. run -b '~/.tmux/plugins/tpm/tpm'之前添加set -g @plugin '...'
  2. 拉取插件:prefix + I(install的大写首字母)。

插件将被复制到~/.tmux/plugins/

卸载插件

  1. 在 tmux.conf 中删除插件相应的 set。
  2. 删除插件: prefix + alt + u(uninstall的小写首字母)

或者直接到~/.tmux/plugins/中删除相应插件。

更新插件

prefix + U(update的大写首字母)。

命令行使用tpm传送门

tmux-resurrect

保存并恢复 tmux session。

  1. 使用tpm安装

    1
    set -g @plugin 'tmux-plugins/tmux-resurrect'
  2. 保存一个 tmux session:prefix + Ctrl -s

  3. 恢复保存的 session:prefix + Ctrl -r

tmux-continuum

持续保存 tmux session。

依赖

tmux 1.9 及以上版本, tmux-resurrect 插件。

安装

1
2
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'

配置

  1. 持续保存

    默认间隔为 15 分钟,可以设置其他间隔。

    1
    set -g @continuum-save-interval '30'
  2. 开机自动启动 tmux,详细请看Automatic Tmux start

    1
    set -g @continuum-boot 'on'
  3. 自动恢复 tmux

    1
    set -g @continuum-restore 'on'

tmux-net-speed

这个插件让 tmux 状态栏显示网络速度。

  1. 使用 tpm 安装

    1
    set -g @plugin 'tmux-plugins/tmux-net-speed'
  2. 设置格式,字符串 8 个宽度足够

    1
    2
    3
    set -g @download_speed_format "%8s"
    set -g @upload_speed_format "%8s"
    set -g @net_speed_format "↓%8s ↑%8s"
  3. 在 tmux 状态栏显示

    • #{download_speed} - 只显示下行速度

    • #{upload_speed} - 只显示上行速度

    • #{net_speed} - 显示下行、上行速度

本文结束感谢您的阅读
感谢打赏,继续前行!