程序员的七种武器之Tmux

终端会话管理工具

你还在为开了好多终端窗口记不住那条命令在哪里运行着吗?你还在为终端窗口的管理而烦恼吗?

有了tmux,你再也不用发愁了,它不会很复杂,一个server, 一个client, 一个配置文件而已

具体使用请参考man tmux

Asciinema 录屏展示

  1. window pane 切换
  2. session 管理

tmux-example-with-tmuxinator

Tmuxinator

Manage complex tmux sessions easily

从配置文件中读取tmux configuration,然后启动一个会话

Install

由于国内网络原因, rubygems.org 访问很慢,甚至访问不了. 还好国内有个镜像网站 ruby.taobao.org

首先设置gem sources list

gem sources --remove https://rubygems.org/ --add https://ruby.taobao.org/ 

安装

gem install tmuxinator

Usage

tmuxinator有个alias: mux

配置文件在 ~/.tmuxinator

假如有个配置文件在~/.tmuxinator/dotfiles.yml,

#tmuxinator start dotfiles
mux start dotfiles 

就会启动这个会话, 会话的窗口、pane,以及每个窗口创建时的执行命令以及布局,都可以在dotfiles.yml 中配置. 这样就省去了手动去创建每个窗口了

配置文件示例

# ~/.tmuxinator/dotfiles.yml
name: dotfiles
root: ~/dotfiles/

windows:
  - vim:
	  layout: even-vertical
	  panes:
		-
		-
  - bash:
	  layout: even-vertical
	  panes:
		-
		-
  - tmux:
	  layout: even-vertical
	  panes:
		-
		-

详解:

session name :dotfiles

session 默认路径 ~/dotfiles

session 启动时启动三个窗口,窗口名分别为:vim, bash, tmux

每个窗口开两个面板,布局都是竖向均分布局