Linux终端复用神器Tmux介绍(Tmux introduction)
之前写过一篇文章,是关于多终端工具的:《linux学习-screen命令》,最近偶然的机会了解到Tmux,试用之后,感觉screen简直是小孩子过家家,弱爆了。
说起是怎么知道Tmux的,还真是实属偶然,当时同事推荐了一个termux的工具(这个工具是在安卓手机上运行的终端,也极棒,后续另行介绍),百度一搜,居然自动推荐了Tmux(看样子它更有名气),简略看了一下介绍,不禁大为心动,尝试一番,就再也放不下了。真是学无止境啊,不知道在Linux的世界中,还有哪些好东西是我不知道的,有没有哪位牛人能够分门别类汇聚整理出来的?
关于此工具的介绍,网上很多,大家自行搜索学习即可,我觉得《Tmux 速成教程:技巧和调整》不错。此文主要总结我常用的命令和一些小坑。
- 安装
我用的CentOs,使用yum install tmux即可。 - 建立会话
直接运行tmux即可。可以建立多个会话用于不同的任务,对于我而言,只用一个会话就够了。 - 新建窗口
用快捷键ctrl+b,这个快捷键是引导前缀,是可以修改的。然后再输入c,就在一个会话中创建了一个新窗口。如果有多个窗口,在下方的状态栏可以看到每个窗口运行的程序以及窗口的0、1、2等编号。带*标记的窗口为当前窗口。 - 切换到指定窗口
ctrl+b,然后在输入窗口的序号,就可以跳到指定的窗口了。 - 关闭窗口
ctrl+b,输入x即可。 - 恢复会话
下次登录时,按tmux a命令即可恢复上次的会话。
过程中遇到一些小坑,供参考:
- 跨窗口复制
跨窗口复制,其实很简单,ctrl+b,然后按“[”键,进入复制模式,再按空格键,进入复制区域的选择模式,最后,按Enter键,进行复制;然后,在另一个窗口,按ctrl+b,“]”,进行粘贴即可。
只是,我按此方法操作,并不生效,最终找到解决办法如下:
在~/.tmux.conf中加入如下行(我的机器上此文件并没有,我就新创建一个,然后关闭tmux再打开即可生效)
setw -g mode-keys vi - 多终端登录
我发现可以多终端登录恢复同一个tmux会话,此时tmux上的所有操作,另一个窗口都是即时可视。并且在此时,tmux的窗口大小调整为所有终端最小的那个窗口,如果退出小窗口,则会恢复较大的窗口。