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 命名,能清晰的知道上次我的工作任务在哪,当然边工作边记录是个好习惯,万一这些窗口都没了呢

posted @ 2020-08-12 21:37  吴丹阳-V  阅读(443)  评论(0编辑  收藏  举报