问题解决:Tmux安装oh-my-tmux主题后tmux插件tmux-continuum无法自动保存tmux-resurrect备份文件

本文假设你已经安装了 oh-my-tmux 主题 https://github.com/gpakosz/.tmux

问题描述:

tmux-continuum插件可以帮你自动保存tmux的sessions,当你电脑关机重启话,打开tmux可以立即恢复上一次的sessions 状态
但我用tmux plugin 安装了这个插件后,也按照它的配置在 .tmux.conf.local 中加了如下代码,可是我发现 continuum-save-interval 这个功能没有效果,还是得我自己手动保存

set -g @continuum-restore 'on' # 打开tmux时自动恢复上一个保存的sessions记录
set -g @continuum-save-interval '15' # 每15分钟保存一次代码 

原因分析:

我在网上搜了一通,在这个❖ Tmux Like a Boss - 简书博客上找到了灵感,应该是我的 Status bar 有冲突。想了想可能是我之前安装了oh-my-tmux主题,它是由自己的一套 Status bar 设置的,所以与这个 continuum 插件的默认设置有冲突

解决方法:

在 GitHub 的 issues 上有人给出了解决的方法:Autosave not working · Issue #48 · tmux-plugins/tmux-continuum

(1)打开 .tmux.conf(注意不是打开 .tmux.conf.local),找到如下代码

#   status_right=$(echo "$status_right" | sed 's%#{circled_session_name}%#(cut -c3- ~/.tmux.conf | sh -s _circled #S)%g')

(2)然后在这行代码的上面添加下面的两行代码(不过这不是注释代码嘛,加上去最后居然有效果,太TM神奇了)

#   continuum_auto_save='#(~/.tmux/plugins/tmux-continuum/scripts/continuum_save.sh)'
#   status_right="$status_right$continuum_auto_save"

在这里插入图片描述
(3)重新加载 tmux 设置,这时就会每隔 15 分钟自动保存一次 sessions 状态了。当你电脑关机重启后,就会自动恢复上一次的状态了


不用担心自动保存会占用你很多内存,因为continuum会检测你当前的tmux窗格是否发生了改动,如果没有变化,它是不会生成一个新的备份文件的

last 指向最新的备份文件,每次 ctrl + r 就是恢复 last 指向的文件(恢复的时候,最好是打开一个新的 session 再恢复,不要在已有的 session 中进行恢复,会有交错)

问题解决:Tmux安装oh-my-tmux主题后tmux插件tmux-continuum无法自动保存tmux-resurrect备份文件_第1张图片


Reference

  • Autosave not working · Issue #48 · tmux-plugins/tmux-continuum

你可能感兴趣的:(问题解决)