Tmux 入门

Tmux 入门

tmux 简介

这里简单介绍一下tmux,tmux是一个终端复用软件,类似的工具有screen,现在screen用用户越来越少了,tmux大有一统江湖的趋势,先介绍这么多,来看2张效果图:
有时候,我们需要开多个terminal,大部分情况下,我们可以通过多个tab来完成。但是在我们不需要全屏展示的时候,这样感觉浪费。比如说我们需要一边写代码,一边看log,一边调试代码。这个时候,用多个tab的方式,效率就比较低了。有tmux之后,我们就可以都在一个terminal中完成这个操作了。如果再服务器上工作的话,在服务器上安装了tmux之后,我们就能通过一个ssh连接,开多个tmux tab,并且tmux tab还可以保存,我们可以在完成工作之后保存工作现场,等待下次进来之后,可以立即恢复到我们上次的工作场景中。


tmux 效果1
tmux 效果2

并且现在有了session恢复插件之后,就算tmux-server重启了也没关系,我们的session依然可以恢复。只需要在结束之前,进行一次保存,下次可以将新的tmux session恢复成原来的样子。具体的用法,请参考这个插件里面的介绍。
总之,linux软件,未经配置的和经过精心配置可以看起来完全是2个软件,当然这里指易用性。tmux同样也有很强的定制性,具体配置,可以参考我下面的配置。里面有一些简单的解释,不过不那么全。如果你很感兴趣,那么可以对其中自己不太明白的地方,自己搜索下,应该能获得很多新知识,可以帮助你更好的使用tmux。
如果你希望了解更多的tmux插件,你可以参考这个tpm

tmux 配置

配置文件就不贴了,在这里可以看到, 完整的配置文件在这里tmux-conf.也可以看我的github-tmux-conf tmux-conf

配置文件依赖

  1. tmux-version > 1.9
  2. mac 下需要reattach-to-user-namespace brew install reattatch-to-user-namespae

tmux 几个常用的快捷键

ctrl + qprefix
prefix + c 创建新窗口
prefix + , 窗口重命名
prefix + n 下一个窗口
prefix + ctrl + n 开启一个新session
prefix + tab 切换到上次工作的窗口
prefix + d detach current tmux session , 可以用tmux a命令重新恢复

tmux 常见问题

  1. tmux title 经常改变
    这个问题我是从stackoverflow上找到的,原问题在这里,解决方案是在tmux.conf中添加如下配置 set-option -g allow-rename off当然,这个已经包含在我的配置文件里面了。
  2. tmux 中 将vim中内容复制到系统剪切板。
    还有就是tmux 中使用vim复制到系统clipboard中的问题。一般情况下,只有mac下好像才会有这个问题。对应的修复方案也写在配置文件里了。如果是mac系统,直接用这个配置文件应该就可以了,另外需要自己安装下依赖。

写在最后

tmux 的包含session,session中可以有好多标签。有不少快捷键。刚开始记起来可能有点费尽,感觉有点像vim的学习过程。刚开始可能有点困难,但是我保证,在你掌握之后,你会喜欢上它的。最后,祝玩得愉快。

Leave a Reply

Your email address will not be published. Required fields are marked *