新遇到的神器--Tmux 又是一个之前从没听过的玩意最近真的是疯狂长见识之前三年明明都只是一个小前端现在突然接触后端看啥都新鲜看啥都不会。前段时间项目提测再测试环境的命令行里同时用了tmux看的我一脸懵逼赶紧请教了一下然后百度了几个常用快捷键算是知道咋回事儿了今天周末抓紧时间补一下了解一波参考资料有可能是最简单的tmux入门教程tmux简洁教程我在tmux中最不可少的配置: 用鼠标切换窗口/调节分屏大小Tmux 快捷键 速查表作用首先tmux是做啥的捏tmux(terminal multiplexer)是什么呢它能让你轻松地在多个任务之间切换、使任务在后台运行并且能够在不同的终端中恢复之前的任务。tmux主要的功能有两点终端利用可以在一个terminal开启多个shell的session这样就不需要vim一个terminal命令又要需要一个其他服务还要再开一个了。断线保证任务在后台继续执行以及当你上线后保证原来打开的多个窗口与断线之前完全一样。以后就不用再使用screen了安装及配置Mac下使用brew install tmux来安装。配置Tmux默认不支持鼠标滚动查看窗口中的前后内容。需要修改配置来支持。// 新建文件 .tmux.conf 并编辑vim~/.tmux.conf// 写入以下# 开启鼠标模式set-option-g mouse on # 允许鼠标选择窗格 #set-g mouse-select-pane on ​ # 如果喜欢给窗口自定义命名那么需要关闭窗口的自动命名set-option-g allow-rename off ​ # 如果对 vim 比较熟悉可以将 copy mode 的快捷键换成 vi 模式set-window-option-g mode-keys vi// 然后进入tmux// 执行快捷键ctrlb(松手)// 即可生效此时使用快捷键ctrlb (松手) %分窗口之后就可以使用鼠标来选则窗口了。场景我在工作中遇到的场景是这样的通过ssh连接远程测试机时我需要在测试机中同时执行前端的yarn start和 后端node的yarn dev但我进入前端目录执行之后就没办法再退出来cd到后端目录了。这时候就需要tmux相当于在测试机中创建多个 会话session、窗口window、窗格Pane我可以在不用的窗口cd到不同的目录下去执行相应的任务。同时我可以很方便的使用tmux来在任务之间切换。基本应用启动tmux安装后在命令行输入tmux就启动了看到只有一个窗口窗口下方会有基本状态信息。tmux的使用可以完全靠快捷键快捷键以前缀快捷键快捷键构成默认的前缀prefix快捷键是ctrl-b用法是按下Ctrl-b放开后再按下相应的快键即可例如查看tmux会话的快捷键是s可以按下ctrl-b放开再按s即可查看当前的所有会话。针对我的使用常见其实只用了几个非常简单的命令// ssh连接测试机sshxxxxx // 查看当前所有会话 tmuxls// 启用新会话 tmux[new -s 会话名 -n 窗口名]// 关闭会话 tmux kill-session -t 会话名 // 进入某一个会话 tmux at[-t 会话名]// 在会话中进行了需要的操作后退出会话使用快捷键 ctrlb(松手)d更多详细的快捷键可以参考上边的参考资料哦。