上一篇介绍的tmux,存在一个比较严重的问题,当运行tmux server的机器重启后,所有tmux的信息都将失效。我们需要重新开启tmux,分配并调整窗格,每个窗格再开启相关的命令。很麻烦。
本文介绍tmux的好基友Tmuxinator可以根据配置快速创建tmux的session。
Tmuxinator的安装
Tmuxinator基于Ruby,首先安装Ruby。
1 |
# yum install ruby |
安装Tmuxinator。
1 |
# gem install tmuxinator |
若由于(你懂得的)网络原因无法安装,则更新Ruby的gem源后再次尝试。
1 |
# gem source -a https://ruby.taobao.org/ |
基础设置
将下述文本保存为$HOME/.tmuxinator/.tmuxinator.bash
,提供tab
键提示功能。
1 |
#!/usr/bin/env bash |
$HOME/.bashrc
下增加下述内容。
1 |
source $HOME/.tmuxinator/.tmuxinator.bash |
source $HOME/.bashrc
使其生效。
常用命令
Tmuxinator的一个工程(Project)对应tmux的一个sessiontmuxinator
命令已alias
为mux
。new
简写为n
,open
简写为o
,edit
简写为e
,list
简写为l
,copy
简写为c
,delete
简写为d
。
1 |
$ mux n ws # 创建工程ws |
配置
当new
一个工程后,会出现如下信息(省略注释)。
1 |
name: ws # session名称 |
可以根据注释配置自己的工程。
自定义layout
工程配置中的layout项,有5个默认的值。
- even-horizontal
- even-vertical
- main-horizontal
- main-vertical
- tiled
开启tmux后,可以使用快捷键prefix space
切换layout,建议开启4个Pane进行测试。
其中main-horizontal和main-vertical可以设置默认主Pane的宽度和高度。
1 |
# .tmux.conf |
如果不满足layout默认值,layout项可以自定义值。
首先调整好窗口的Pane,prefix d
关闭Session。
1 |
$ tmux list-windows |
将上述信息之后layout之后的信息(到最后一个]
前),复制到工程配置中的layout项即可。注意pane的个数必须与执行命令的个数对应。
1 |
windows: |
多命令
当某个Pane需要执行多命令时,官方不推荐使用&&
或;
的形式。可以采用如下方式发送命令。
1 |
windows: |
CentOS6.X手动安装Ruby
2015.08.03新增本章。
上述篇章是在CentOS7安装的,没有问题。CenOS6.X默认安装的Ruby版本太低不符合Tmuxinator的要求,需要手动下载Ruby源码安装,之后在下载安装Tmuxinator。
1 |
# yum remove -y ruby |
安装完成后,继续执行第1步。
~~ EOF ~~