Linux 上 Notepad 的自动保存实现指南
先确认你用的是哪一款编辑器
通用思路
按软件的设置方法
Notepadqq
notepad–(国产跨平台)
#!/usr/bin/env bash
BACKUP_DIR="$HOME/.backup/notepad--"
SOURCE_DIR="$HOME/.config/notepad--/notepad" # 若你的安装或发行版不同,路径可能需调整
DATE_SUFFIX=$(date +%Y%m%d)
mkdir -p "$BACKUP_DIR"
rsync -a --delete "$SOURCE_DIR/userstyle" "$BACKUP_DIR/userstyle_$DATE_SUFFIX"
rsync -a --delete "$SOURCE_DIR/userlang" "$BACKUP_DIR/userlang_$DATE_SUFFIX"
cp -f "$SOURCE_DIR/shortcuts.ini" "$BACKUP_DIR/shortcuts_$DATE_SUFFIX.ini"
# 清理 30 天前的备份
find "$BACKUP_DIR" -type d -mtime +30 -exec rm -rf {} \;
保存为如 /usr/local/bin/backup_notepad_config.sh,赋权后在系统计划任务中每日执行(如 systemd timer、cron)。该做法可在程序崩溃或更新前保留你的主题、语法高亮、快捷键等关键配置。Notepad++(Windows,或在 Linux 的 Wine 中)
没有内置自动保存时的通用增强
git init,配合 .gitignore 忽略生成文件;常用 git add/commit 或 GUI 客户端进行周期性提交,天然具备多版本回退能力。#!/usr/bin/env bash
WATCH_DIR="$HOME/.config/notepad--/notepad" # 示例路径,按你的实际目录调整
SNAPSHOT_DIR="$HOME/.backup/notepad--_snap"
mkdir -p "$SNAPSHOT_DIR"
inotifywait -m -e create,modify,delete,move -r "$WATCH_DIR" --format '%T %w%f %e' \
| while IFS= read -r line; do
TS=$(date +%Y%m%d-%H%M%S)
echo "$line" >> "$SNAPSHOT_DIR/change-$TS.log"
# 简单快照:复制整个配置目录
tar czf "$SNAPSHOT_DIR/snap-$TS.tgz" -C "$WATCH_DIR" .
# 仅保留最近 7 天的快照
find "$SNAPSHOT_DIR" -name 'snap-*.tgz' -mtime +7 -delete
done
将脚本加入自启动(如系统服务或会话自启),即可在文件变化时自动生成快照。