如何禁止生成 .#filename 文件

已经设置了下面的配置代码,

;; Disable Backup File
(setq make-backup-files nil)

;; Disable Auto-save File
(setq auto-save-default nil)

但是依然时不时的会生成 .#filename -> xxxxxx 的文件,和当前文件在同一路径下。

1 个赞

这个 .#filename 的文件保存之后就没有了。。。

不是呀,我保存了之后这个文件还在。有的时候还会被 Git 看到并做版本控制。我都每次编辑都会按保存的习惯,所以我不知道这个是保存之后就会消失的。

既然保存了会消失,能不能干脆让他不出现呢?

(setq auto-save-default nil) ; stop creating #autosave# files

我有设置这个诶

你使用 C-h m 看一下 auto-save-mode 是否开启了, 你可以关闭 auto-save-mode 之后再试试看会不会生成这个文件。

1 个赞

并没有开启 auto-save-mode 呢,这个文件是 .#filename -> XXXX 好像是一个 symbolic link 指向一个地方。出现了好多次我没看清就把它删了。下次我注意看下指向的位置是啥。最近它格外烦人的原因是,在写 Ember 的 App 然后这个文件一出现就会 Ember Serve 就会报错。

我在网上查到的 auto save 文件好像是 #filename# 这样的,和我的这个文件好像不太像。

这个情况在 Mac OS X 和 Ubuntu 下都存在,我在家和在单位都遇到过这个问题,都需要手动删除,但是好像也只是偶尔才出现。

还有 Google 搜索这些符号真的很不好用呀。

恩,是有点奇怪。。。 不过我用 Spacemacs 并没有这个问题。。

看看其他人是否知道这个设置选项了。。

有出现了!我确保了,我的文件保存了。下面是 Ember 的错误截图

这次我找不到这个生成的文件了,但是好像 Ember 在出现的时候就把它存到了自己的 temp 目录下了。只要我重启 Ember 的开发服务器清空 temp 就可以解决这个问题了。

找到解决办法了。。。

(setq create-lockfiles nil)

这个必须入下一期视频 :joy:

3 个赞

你是怎么找到的呢?搜索的关键字是什么呢?我怎么就找不到呢?

我也是找了好久。。。

可以试试这个关键字。。。

emacs disable file locking

问题是我不知道 他是 file lock 呀 你怎么知道他是 filelock 的呢?

原来这是file lock啊,涨见识了,保存后就没了,就没管它.

Google search suggest…

Try them one by one and finally found out…

This annoying setting must be asked by many people…

1 个赞

1 个赞

lock file 是在出现编辑同一个文件时,Emacs 提供的保护措施。比如说,你先用 Emacs 编辑会文件,并没保存,之后又在用 Vim 编辑并保存了同一个文件,这时你回到 Emacs 试图保存文件,Emacs 会警告你:这个文件已经在别的地方修改了,一旦你直接保存,就会失去在 Vim 里的修改,你就有机会决定如何处理这个冲突。

所以,

可能不是好主意。

可以让 Git 忽略掉这个文件,比如添加

# Ignore lock files created by Emacs
\.#*

.gitginore~/.gitignore_global

官方的文档在: 18.3.4 Protection against Simultaneous Editing 或者 (emacs) Interlocking 节点。

6 个赞

我之前就将其添加到 .gitignore 中,但是还会被 ember-cli 工具发现生成后就有些错误。谢谢你的信息,我会把它添加到我这个项目的忽略文件中然后看看还会不会有问题。

应该是让 ember-cli 忽略隐藏文件。。。

我上面的设置确实有风险,慎用。如果不能让 ember-cli 忽略隐藏文件,可以临时关闭也没啥关系。 不要加到配置里面成为全局的配置就行。

1 个赞

好的,我现在就去把它从配置文件中注释掉。谢谢各位的帮助! :rose: