当前位置: 首页 > news >正文

no-littering:终极指南,让你的~/.config/emacs目录保持整洁如新

no-littering:终极指南,让你的~/.config/emacs目录保持整洁如新

【免费下载链接】no-litteringHelp keeping ~/.config/emacs clean项目地址: https://gitcode.com/gh_mirrors/no/no-littering

如果你是一位Emacs用户,你可能已经注意到随着时间的推移,你的~/.config/emacs目录会变得越来越混乱。各种插件和内置功能会在这个目录下创建大量的配置文件和数据文件,使得管理和维护变得困难。no-littering就是为解决这个问题而生的工具,它能帮助你保持Emacs配置目录的整洁有序,让你的Emacs使用体验更加愉悦。

🧹 什么是no-littering?

no-littering是一个Emacs插件,它的主要目标是帮助用户保持~/.config/emacs目录的整洁。它通过修改各种Emacs包的路径变量,将配置文件和数据文件分别集中存放在两个目录中:

  • no-littering-etc-directory:默认位于~/.config/emacs/etc/,用于存放配置文件
  • no-littering-var-directory:默认位于~/.config/emacs/var/,用于存放数据文件

这种方式类似于"路径主题",让所有Emacs包遵循统一的文件存放规范,避免配置文件散落在各个角落。

🚀 为什么需要使用no-littering?

Emacs生态系统非常丰富,但不同的包在文件存放位置上缺乏统一标准。有些包将文件直接放在user-emacs-directory下,有些放在子目录中,还有些甚至放在$HOME目录下。这导致:

  1. 配置目录混乱,难以管理
  2. 难以区分哪些文件属于哪个包
  3. 备份和迁移Emacs配置变得复杂
  4. 新用户难以理解Emacs的文件结构

no-littering通过统一文件存放规则,解决了这些问题,让你的Emacs配置更加专业和可维护。

💾 安装no-littering

快速安装步骤

你可以通过以下命令克隆no-littering仓库:

git clone https://gitcode.com/gh_mirrors/no/no-littering

然后在你的Emacs配置文件中添加:

(require 'no-littering)

自定义目录位置(可选)

如果你想自定义配置文件和数据文件的存放位置,可以在加载no-littering之前设置相关变量:

(eval-and-compile ; 确保编译时和运行时的值一致 (setq no-littering-etc-directory (expand-file-name "config/" user-emacs-directory)) (setq no-littering-var-directory (expand-file-name "data/" user-emacs-directory)) (require 'no-littering))

⚙️ 配置建议

自动保存、备份和undo-tree文件

出于安全考虑,no-littering不会自动修改Emacs的备份和自动保存相关设置。如果你希望将这些文件也集中管理,可以调用专门的函数:

(no-littering-theme-backups)

这个函数会将自动保存文件、备份文件和undo-tree历史文件统一存放在no-littering-var-directory下的相应子目录中。

锁文件设置

要将锁文件集中存放在一个目录,可以添加以下配置:

(let ((dir (no-littering-expand-var-file-name "lock-files/"))) (make-directory dir t) (setq lock-file-name-transforms `((".*" ,dir t))))

最近文件设置

如果你使用recentf功能,可以将no-littering管理的目录排除在最近文件列表之外:

(require 'recentf) (add-to-list 'recentf-exclude (recentf-expand-file-name no-littering-var-directory)) (add-to-list 'recentf-exclude (recentf-expand-file-name no-littering-etc-directory))

自定义设置保存位置

Emacs默认会将自定义设置保存在你的初始化文件中。如果你想将它们存放在单独的文件中,可以设置:

(setq custom-file (no-littering-expand-etc-file-name "custom.el"))

Emacs 29原生编译缓存设置

如果你使用Emacs 29或更高版本,可以将原生编译缓存目录设置到no-littering管理的目录中:

(when (and (fboundp 'startup-redirect-eln-cache) (fboundp 'native-comp-available-p) (native-comp-available-p)) (startup-redirect-eln-cache (convert-standard-filename (expand-file-name "var/eln-cache/" user-emacs-directory))))

🔄 迁移现有配置

如果你已经使用Emacs一段时间,想要迁移到no-littering,项目中提供了一个migrate.org文件,它提供了迁移指南和工具。迁移步骤大致如下:

  1. 保存当前路径变量的值
  2. 加载no-littering
  3. 生成迁移脚本
  4. 执行迁移脚本
  5. 移除旧的自定义设置

详细的迁移步骤和代码可以在migrate.org中找到。

📦 支持的包

no-littering支持大量的内置和第三方Emacs包,包括但不限于:

  • 内置包:如abbrevbookmarkcalcdesktoperceshell
  • 第三方包:如helmcompanyprojectileorg-roammagitlsp-mode

完整的支持列表可以在no-littering.el文件中查看。如果你使用的包不在列表中,欢迎贡献代码来支持它!

🎯 总结

no-littering是一个简单而强大的工具,它通过统一Emacs包的文件存放规则,帮助你保持~/.config/emacs目录的整洁。使用no-littering,你可以:

  • 让Emacs配置更加有序和专业
  • 轻松找到和管理各个包的配置文件
  • 简化Emacs配置的备份和迁移
  • 减少因文件混乱导致的问题

如果你还在为Emacs配置目录的混乱而烦恼,不妨试试no-littering,体验一个整洁有序的Emacs工作环境!

📚 更多资源

  • 项目源代码:no-littering.el
  • 使用文档:README.org
  • 迁移指南:migrate.org

【免费下载链接】no-litteringHelp keeping ~/.config/emacs clean项目地址: https://gitcode.com/gh_mirrors/no/no-littering

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/3876401.html

相关文章:

  • KRAGEN开发指南:Backend API接口设计与Graph of Thoughts模块扩展
  • 阿里 Qwen3.8-Max 解析:2.4T 参数旗舰首次开源,API 接入与踩坑指南
  • 百元耳机别只看降噪,轻量化佩戴才是日常刚需
  • 深耕扬州建设工程信息网站:揭秘招投标全流程与数据背后的真实逻辑
  • Unity色彩空间实战:Gamma与sRGB配置指南
  • AI搜索优化平台横评与选型指南
  • 终极指南:如何在5分钟内快速上手Dalamud FF14插件框架
  • PyCharm快速上手指南:三层设计哲学与核心效率技巧
  • 编导老师智能体:内容创作提效助手
  • Coco 在病房:一个企业级 AI Agent,如何帮住院医师省下每天三小时的文书时间
  • 水下航行器能量收集器动力学和控制研究附Matlab代码
  • 体育数据API一站式接入|覆盖18+项目纳米数据实时毫秒级推送
  • Claude Code 安装、配置与国产大模型接入保姆级教程-适合新手小白(包含个人各种踩坑记录)
  • 提升前端开发效率:gulp-file-include高级技巧与最佳实践
  • 网站建设所需资料全面指南:做企业官网前必看的清单与避坑手册
  • 鱼哥好书分享第67期:WorkBuddy保姆级教程,“双龙虾”合并后从入门到精通
  • Nginx接口复制技术:原理、配置与生产实践
  • SuperRDP终极指南:三步解锁Windows远程桌面完整功能
  • 开发者视角:Pixel Saver核心功能的代码实现原理
  • 从交互设计看摇骰聚会鳄鱼牙齿的用户体验优化策略
  • 计算机毕业设计之基于Spring Boot的新闻发布系统的设计与实现
  • 2024破局之道:揭秘高转化率人才网站建设方案与实战落地指南
  • Flunt实战案例:构建健壮的Customer实体验证逻辑
  • 解决网易云音乐音质问题:杜比大喇叭β版让你畅享无损音乐体验
  • 泛域名泛程序风控优化:降低站点批量降权概率的秘诀
  • Vue.js Element UI表格动态单元格合并:从原理到工程实践
  • Docker容器化部署MySQL实战指南
  • C/C++每日一练19
  • Codex 接入飞书
  • Grok 双通道 MCP 权限失控实录:只读代理竟偷偷改了我的生产索引