Hello Tmux
为什么需要tmux
- ssh连服务器,为什么分分钟就断开了~再打开还要进目录加载环境…有了tmux,无论的网络中断还是退出后重连.都能恢复离开时的环境(看起来是电脑休眠/关机的区别→_→)不过即使关机了,也可以通过脚本恢复之前的状态
- iTerm2分屏加Tab好方便的样子,tmux也能做到.不管电脑上的terminal软件是怎样的辣鸡(我能说我用的是cmder吗)都能做到完美的Tab和分屏
- tmux可以远程共享:直播写代码,结对编程什么的(并没有人会看→_→)
安装tmux
虽然可以用各种包管理工具安装,但是八成不会是最新版(这里brew好评)
sudo brew/apt/yum install tmux
这里有一篇文章讲 如何从源码安装tmux
基础概念
Tmux三个基本元素
- session(会话): 每次打开tmux启动一个会话,是窗口的集合
- window(窗口): 相当于多窗口软件的提高Tab,面板的集合
- pane(窗格): 分屏下每一个块[强悍的分屏]
下面盗的图形象的说明了三元素之间的关系
Prefix Key
Tumx的所有快捷键都以Ctrl+b
打头(默认设置下).然后松开再按其他键输入指令.这一点很像Emacs.我们管它叫做Prefix Key
接下来说的所有快捷键都以prefix
来代表Prefix Key
使用
感觉列举快捷键并不好记,还是以几个典型场景来说下最简单的用法吧(其实是我也没背下来几个快捷键)
扩展命令第一次看文章可以略过~
打开与关闭
操作 | 快捷键 |
---|---|
打开tmux | $ tmux |
关闭tmux | $ exit; |
吐槽:以上内容看起来和tmux完全没关系嘛~
再次打开之前的任务(Session)
操作 | 快捷键 |
---|---|
临时断开会话(将来能重连) | prefix d |
列出所有tmux会话 | $ tmux ls or prefix s |
选择一个会话打开 | $ tmux a -t 名字(默认是数字) |
扩展命令
操作 | 快捷键 |
---|---|
在后台建立新会话 | tmux new -s session -d |
查看/切换session | prefix s |
重命名当前Session | prefix $ |
分屏相关操作(pane)
操作 | 快捷键 |
---|---|
垂直拆分出一个新窗格 | prefix " |
水平拆分出一个新窗格 | prefix % |
切换窗格 | prefix 方向键 or prefix o |
扩展操作
操作 | 快捷键 |
---|---|
调整窗格大小 | prefix 不松开Ctrl,方向键 |
关闭所有窗格 | prefix ! |
关闭当前光标处的窗格 | prefix x |
显示一个钟表 | prefix t |
修改窗格名 | prefix , |
多窗口操作(window)
操作 | 快捷键 |
---|---|
创建一个新的窗口 | prefix c |
切换到下一个窗口 | prefix n |
切换到上一个窗口 | prefix p |
直接跳到你按的数字所在的窗口 | prefix 数字 |
退出当前窗口(仅有一个窗口会退出session) | prefix & |
其实最后一条和最早的那个exit;
是一样的→_→
参考他人的配置
目前最流行的配置应该是gpakosz/.tmux
了,主要有以下特性:
C-a
为 Prefix key, 更加顺手- 基于Powerline的优化
- 显示笔记本电量
- 更加友好的配色和强大的功能
上两张图感受下:
安装教程还是上作者的Github Repo链接吧: [https://github.com/gpakosz/.tmux](https://github.com/gpakosz/.tmux]
参考资料
Hello Tmux
https://blog.kdwycz.com/archives/hello-tmux/