Tmux是一个优秀的终端复用软件,支持多标签,也支持窗口内部面板的分割,更重要的是,Tmux提供了窗体随时保存和恢复的功能。想象一下假如你在公司的服务器上开了许多窗口调试程序,回到家时通过SSH连接公司电脑又要打开一堆繁琐的窗口,而且还忘记了当时调试到哪一步了,那Tmux可以帮你解决这个难题,当SSH连接断开重新连接后能够恢复到原来的工作环境。
安装
1 | sudo apt-get install tmux |
安装完成后输入tmux进入软件,界面类似一个下方带有状态栏的终端。
基本概念
Tmux基于典型的c/s模型,主要分为会话、窗口和面板三个元素:
- Session:输入tmux后就创建了一个会话,一个会话是一组窗体的集合。
- Window:会话中一个可见的窗口。
- Pane:一个窗口可以分成多个面板。
图中左下角的3显示为当前会话,随后1 vim,2 bash,3 ssh 分别是3个窗口,蓝色bash表示当前窗口,图中用蓝色数字标记的1,2,3分别是bash窗口的三个面板。你还可以在tmux配置文件中给状态栏添加时间、天气等信息。
Tmux基本操作
Tmux的所有操作必须使用一个前缀进入命令模式,默认前缀为Ctrl+b,很多人会改为Ctrl+a,你可以修改tmux.conf配置文件来修改默认前缀:
1 | # 前缀设置为<Ctrl-a> |
修改之后重启Tmux生效,或者先按Ctrl+b,然后输入:,进入命令行模式, 在命令行模式下输入:
1 | source-file ~/.tmux.conf |
你也可以在配置文件中加入下面这句话,以后改了配置文件只需要按前缀+r了。
1 | # 将r 设置为加载配置文件,并显示"reloaded!"信息 |
加入如下几条语句, 现在切换面板就和vim一样了:
1 | # map Vi movement keys as pane movement keys |
会话的创建和保存
- 终端运行tmux + 会话名,创建或打开会话
- 前缀 + d 退出并保存会话
窗口操作
- 前缀 + c 创建一个新的window
- 前缀 + b 重命名当前window
- 前缀 + & 关闭当前window
- 前缀 + n 移动到下一个窗口
- 前缀 + p 移动到前一个窗口
- 前缀 + l 切换到上一个窗口
面板操作
在配置文件中添加下面两行就可以使用前缀+ |-
来水平和垂直分割窗口:
1 | # use PREFIX | to split window horizontally and PREFIX - to split vertically |
添加如下命令到配置文件后后可以使用HJKL来调整窗口大小:
1 | # resize panes using PREFIX H, J, K, L |
其他操作:
+ 方向键,切换窗口 + q 显示所有面板 + !/x 关闭当前面板
查看所有的按键,使用<Ctrl-b> + ?
Tmux个性化
你可以使用tmux-powerline来美化你的状态栏。
美化之后的效果是这样的:
最后附上我的tmux配置文件:.tmux.conf