You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止Emacs生成.#开头的临时文件?(Spacemacs+ClojureScript开发场景)

解决Emacs生成.#临时文件干扰Boot构建的问题

我来帮你搞定这个烦人的问题!那些.#开头的临时文件是Emacs的自动保存文件——它本来是好心帮你实时备份编辑内容,防止意外崩溃丢代码,但确实会搅乱Boot的文件监听机制,导致它时不时崩溃。下面给你几个实用的解决办法,按需选就行:

  • 全局禁用自动保存(简单但有风险)
    如果你能接受失去自动保存的保护(比如习惯手动保存,或者不怕Emacs崩溃丢代码),可以在Spacemacs的配置文件~/.spacemacs里添加这段配置:

    (setq auto-save-default nil)
    

    注意:这么做会关闭所有文件的自动保存,万一Emacs意外退出,你没手动保存的内容就没了,所以不太推荐长期用。

  • 把自动保存文件统一移到临时目录(推荐)
    这个方法既能保留自动保存的安全保障,又不让临时文件出现在项目目录里干扰Boot。同样在~/.spacemacs里添加:

    (setq auto-save-file-name-transforms
          `((".*" ,temporary-file-directory t)))
    

    这样所有.#开头的临时文件都会被放到系统默认的临时目录(比如Linux的/tmp、macOS的/private/tmp),Boot根本不会监听这些目录,自然就不会崩溃了。

  • 仅针对ClojureScript模式禁用自动保存
    如果你只想在编辑.cljs文件时关闭自动保存,其他文件保留自动保存功能,可以添加这段配置:

    (add-hook 'clojurescript-mode-hook
              (lambda () (setq-local auto-save-default nil)))
    

    它会在你打开ClojureScript文件时自动关闭当前缓冲区的自动保存,其他模式不受影响。

  • 额外处理备份文件(可选)
    除了.#开头的自动保存文件,Emacs还会生成~结尾的备份文件,如果Boot也监听这类文件,你可以把备份文件也移到临时目录:

    (setq backup-directory-alist `((".*" . ,temporary-file-directory)))
    (setq backup-by-copying t) ; 避免硬链接引发的问题
    

修改完配置后,重启Spacemacs或者按下SPC f e R(Spacemacs重新加载配置的快捷键),设置就会生效了。

内容的提问来源于stack exchange,提问作者Witek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:22:09