Hello Tmux

为什么需要tmux

  1. ssh连服务器,为什么分分钟就断开了~再打开还要进目录加载环境…有了tmux,无论的网络中断还是退出后重连.都能恢复离开时的环境(看起来是电脑休眠/关机的区别→_→)不过即使关机了,也可以通过脚本恢复之前的状态
  2. iTerm2分屏加Tab好方便的样子,tmux也能做到.不管电脑上的terminal软件是怎样的辣鸡(我能说我用的是cmder吗)都能做到完美的Tab和分屏
  3. 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/
作者
kdwycz
发布于
2016年8月30日
许可协议