什么是Tmux
简单来说,tmux是一个终端复用器,第一,它是在终端下,也就是我们常说的命令下使用的,第二,它是一个可以在一个窗口管理各种会话的软件。也就是说,你可以在一个终端下干多种事情,一边写前端项目,一边写后台项目,可以同时查看进程资源占用,也可以运行终端命令。
为什么使用Tmux
当然是为了方便操作,因为有些时候我们就是希望可以在一个窗口编写代码,一个窗口运行代码,一个窗口显示资源占用,因为这样看起来更直观。
有些时候,我们一天的工作可能没有做完,我们希望晚上,或者明天继续工作,但是我们不希望重新打开编辑器,重新运行代码,这个时候,tmux就显示出了它的威力,它可以保存我们的会话,也就是保存我们的项目状态,当我们重新连上tmux的时候,我们就可以无缝继续我们上次的操作,这可以说是非常强大有用的功能。
如何使用tmux
如果你是mac用户的话,你可以使用brew来安装:
brew install tmux
如果你是ubuntu用户的话,你可以使用apt来安装:
apt install tmux
tmux 的安装非常简便,使用起来却并不轻松。
如何进入tmux
当我们在终端下直接输入tmux,我们就可以进入到tmux会话界面了。它看上去像是打开了一个新的窗口,然后在底部显示了一些信息,当然这些底部的信息都是可以自定义控制的。
tmux 主要是通过各种快捷键来进行操作的,其中它有一个前缀键,默认是ctrl+b,之所以没有选用ctrl因该是为了不和其他的快捷键相互冲突。其实还有一个原因那就是另一款终端复用软件screen已经使用了ctrl+a,于是这里就接着b来使用了。
当我们要对窗口进行水平分屏的时候我们可以使用ctrl+b->",当我们要对窗口垂直分屏的话我们可以使用ctrl+b->%,这里箭头表示的意思是ctrl+b是一起按下的,然后再按"或者%,而不是它们三个按键一起按下。
如果我们想要新打开一个窗口的话,我们可以使用ctrl+b->c,c(create)表示创建一个窗口,然后我们可以通过ctrl+b->n(next)来回切换窗口,当然我们也可以通过ctrl+b->0(窗口下面的数字角标)直接切换到指定的窗口。
tmux 除了提供窗口的概念,还提供了session的概念,也就是我们可以理解为一个项目,比如前端的项目,后端的项目,java项目,php项目等等,我们可以通过tmux -s new phpdev 来创建一个phpdev的session,下次我们可以通过tmux a -t phpdev来连接上它。
tmux 插件
tmux 有很多功能,这里我只是简单介绍下它的基本使用,它的最新版帮助手册有2700多行,你就可以知道它的功能有多少了。
这里我们单独介绍下它的插件,其实tmux除了本身强大之外,它还提供了很多插件来丰富它的功能,比如有些时候我们的电脑需要关机,这种情况下tmux会丢失之前的操会话的,不过我们可以通过安装一些插件来实现关机也能把保存会话功能,我们还可以通过一些插件让tmux显示得更加炫酷。
总结
如果你经常在终端下工作,那么tmux一定是一款你应该学会使用的软件,当然如果你习惯使用screen也可以。
很多人一开始可能不习惯,或者记不住那么多快捷键,但是没关系,当你多加练习,并且经常在终端下工作的时候,你慢慢地就肌肉记忆记住它们了,并且你会发现使用它们进行工作真的太便捷了。
最后,我想表达的是,先从简单的一点点来,不要一口吃个胖子,我见过很多人花了很多时间来配置它们的tmux还有vim,然后感觉非常麻烦,最后就放弃了。其实一开始你可以只是做一些简单的事情,让自己不要想得太多,一点点发现这些软件的好处,你会慢慢地喜欢上它们。