重度依赖 tmux 的朋友可能会有这样的一个问题, 每次重新打开 tmux, 都需要重新手动创建 window, pane, 并运行各种程序, tmuxinator 就是为了解决这个问题而诞生的。
项目地址: https://github.com/tmuxinator/tmuxinator
tmux 的版本建议 >= 1.8, 否则可能会出现诡异的错误
我的 tmuxinator 配置: https://github.com/AnyISalIn/hacker_files/tree/master/tmuxinator
Demo
快速配置工作环境
安装
tmuxinator 是 ruby 的一个 gem 包, 首先要安装 gem
apt-get install gem # ubuntu |
通过 gem 来安装 tmuxinator
gem install tmuxinator |
配置
tmuxinator 通过 yaml 格式的配置文件来定义一个 project
tmuxinator new demo #通过 new demo 命令来创建一个 demo 配置文件 |
$ cat ~/.tmuxinator/demo.yml |
通过 ls
命令可以列出所有的 project
tmuxinator ls |
可以通过 edit
命令编辑指定的 project, 但是得先指定 $EDITOR
环境变量
export EDITOR='vim' |
自定义 project
默认的 project 肯定无法满足我们的需求, 我们需要自己定义 project, 首先我们需要了解 tmuxinator 配置文件中的选项
name: custom_tmux #默认会话名称 |
传递变量
通过上面的配置虽然可以实现功能, 但是并不够通用, 如果项目的目录变了, 那就得重新修改项目配置文件
位置参数
tmuxinator project /var/www/foo |
name: project |
键值参数
tmuxinator project2 workspace=/var/www/foo2 |
name: project2 |
Flask 项目配置示例
# ~/.tmuxinator/flask.yml |
启动
我们可以通过 start
命令来启动一个 project
tmuxinator start flask ~/codes/flask-blog |
但是需要注意一个问题, 如果一个 window 中有多个 pane 的情况下, tmux 需要增加以下两条参数, 不然无法正常执行命令
set -g base-index 1 |