服务器上的编程之 Tmux

什么是 Tmux

Tmux 官方 Wiki

简单来说,Tmux 是一个能够让你一个窗口当多个窗口使用的终端模拟器。并且你还可以将它放到后台,等到想使用的时候再使用。

为什么要用 Tmux

在服务器上调试程序的时候,经常会打开好几个窗口,并且每个窗口都在不同的目录下。这时候,最怕的就是公司网络一个不稳定,或者我的笔记本啪的被我习惯性的合上了。还有就是下班之后,第二天上班打开电脑,要准备很久才能进入状态。
使用了 Tmux 之后,只需要连上服务器,进入 Tmux ,那么你就会进入你上次退出之前的状态了。

在本地 terminal 上,可以使用 Tmux 开启多窗口配合 Vim 编程。

怎么使用

安装 Tmux

  • ubuntu:sudo apt-get install tmux
  • centos:sudo yum install tmux
  • Mac:brew install tmux (首先安装 brew)

工作流

注: 以下操作中 ^ 代表按 ctrl
例如: ^b c 代表先一起按 ctrlb,然后再按 c

工作开始 - 虚拟终端管理

1
2
3
4
5
6
7
8
9
$ tmux # 打开
$ tmux ls # 显示已经打开的会话
$ tmux attach-session -t [target-session] # 通过 tmux ls 显示的 session 名称

# 示例
$ tmux ls
0: 5 windows (created Sun Nov 26 14:43:45 2017) [156x35]
2: 2 windows (created Sun Nov 26 15:16:12 2017) [156x34] (attached)
$ tmux attach-session -t 0 #

工作进行中 - 窗口操作

1
2
3
4
5
6
7
8
9
10
^b c  # 创建 tmux 新窗口
^b , # 修改窗口名称

# 切换窗口
^b n # 切换下个窗口
^b p # 切换上个窗口
^b 数字 # 切换到相应数字的窗口

# 关闭窗口
^b x # 关闭一个窗口

工作结束 - 将 Tmux 放入后台

1
^b d # detach current client 将此客户端放入后台

ok 一天的工作结束。
第二天来到, 就可以再 attach 回来,继续工作了。

ps:
根据我亲身体验,使用 Tmux 可以节省很多时间,特别是,你需要在服务器上工作的时候。