iterm + tmux 不间断工作流
晚上8点
啪嗒啪嗒啪嗒,开开心心撸代码,在服务器执行命令验证
突然,我感觉到周围一片寂静,仿佛身处在无人的旷野
看了看时间,已经9点该下班了
虽然很不舍,又在亲爱的服务器上耕耘了半个小时,那也得回家了
于是,我合上电脑,装进包里,带回了家里
一夜无话
第二天早上9点47
来到公司喝了口隔夜水,打开合上了一晚上的电脑
我意识到了事情的严重性。昨天我工作到哪了呢?忘了!
于是我打开了 n 多 iterm 窗口,登上了我亲爱的服务器
一日话少
第二天晚上8点
马上又该下班了,我感到了一丝焦虑,因为又要重复昨天的进度丢失
于是,去网络上面搜索了一下解决方案,一个英文词跃入我的眼帘:tmux
tmux 是一个借助 libevent 实现了一个多路复用的一个终端模拟器,最大的特点是能够将终端的 session 保存到服务器上,多个终端公用一个 session。
嗯,这样我就可以把 session 放到服务器上,不用考虑丢失我的进度了。
于是,我花了零零碎碎几天时间,把 tmux 用地如臂使指
但是,tmux 也让我很痛苦,在用 tmux 的时候,我不能像使用其他终端软件一样滚动屏幕,只能记住很多 tmux 的命令。总体来说,在用 tmux 的时候,我是痛并快乐着的。
这样的生活我过了一年时间。直到有一天,我发现了 tmux 的一个选项
我尝试着阅读了一下 iterm 的文档
https://www.iterm2.com/documentation-tmux-integration.html
使用这两个命令
tmux -CC
tmux -CC attach
就可以让 iterm 支持 tmux
我在服务器的 alias 配置了下面的命令:
alias dy='tmux -CC -u new-session -s wudanyang -A'
-u:支持 utf8
new-session -s 「name」 :定义你的 session 名称
-A:不存在则创建,存在则进入
通过这个命令,你就可以无痛保存自己的工作记录了
只要机器不宕机,你就可以一直在上面无间断地玩耍
-- 2020-07-22 14:39:14 更新
我发现呢, 定义一个两个的 session 是不够的, 总有一些事情是临时进来的,或者有需要做别的事情
那么我需要输入一长串命令吗?
我需要! 但是有 alias 代替我输入,只不过我要告诉他打开哪个 session
alias dyo='dyo() { /home/work/.jumbo/bin/tmux -CC -u new-session -s "$1" -A;}; dyo'
alias 不支持参数,只能定义一个 shell 函数,然后调用函数
参考: https://blog.51cto.com/chengsq/1546639
-- 2020-08-12 21:39:36 更新
我发现开了 n 多 session 之后,无法清晰的管理这些 session
于是我又加了个 alias
alias tl='tmux list-session'
通过给 session 命名,能清晰的知道上次我的工作任务在哪,当然边工作边记录是个好习惯,万一这些窗口都没了呢
本文来自博客园,作者:吴丹阳-V,转载请注明原文链接:https://www.cnblogs.com/wudanyang/p/13493172.html