输入C-x r l
后,我得到一个名为*Bookmark List*
的缓冲区
在这个缓冲区中,我看到:
Bookmark file:
/tmp/bmkp-temp/19236bkt
如果我打开帮助(即按h
),我会看到:
Bookmark file: /tmp/bmkp-temp-19236bkt
Sorted:
Filtering: none
Marked: 0
Omitted: 0
Autosave bookmarks: no
Autosave list display: yes
即使我在.emacs
文件中有以下内容:
(setq bookmark-file "~/.emacs.d/bookmarks")
(setq bookmark-default-file "~/.emacs.d/bookmarks")
(setq bmkp-default-bookmark-file "~/.emacs.d/bookmarks")
(setq bmkp-last-as-first-bookmark-file nil)
为什么它使用的是我指定的书签文件?
我还注意到,当我加载Emacs时会发生以下情况:
Emptying bookmark file `/tmp/bmkp-temp-23808OMn'...
Saving file /tmp/bmkp-temp-23808OMn...
Wrote /tmp/bmkp-temp-23808OMn
Emptying bookmark file `/tmp/bmkp-temp-23808OMn'...done
...
Helm completion enabled
Emptying bookmark file `/tmp/bmkp-temp-23808bWt'...
Saving file /tmp/bmkp-temp-23808bWt...
Wrote /tmp/bmkp-temp-23808bWt
Emptying bookmark file `/tmp/bmkp-temp-23808bWt'...done
...
Emacs疯狂删除临时书签文件。 ?
答案 0 :(得分:1)
它看起来像某个地方(例如检查您的.emacs文件)已打开bmkp-temporary-bookmarking-mode
。启用该模式后,您创建的所有书签仅适用于当前会话 - 它们不会保存到您的书签文件中。
这意味着您的书签文件位置设置将被忽略。 (注意,BTW,bmkp-default-bookmark-file
是一个函数,而不是变量 - 它不是你设置的东西。你不需要所有这些书签文件设置;有些是多余的:旧的旧名称Emacs书签的版本。)
我不知道你为什么要获得多个临时书签文件创建和保存。你没有提供完整的食谱。你应该只得到一个。这就是我在*Messages*
中就这方面所看到的全部内容,例如:
Emptying bookmark file `c:/DOCUME~1/me/LOCALS~1/Temp/bmkp-temp-5348su1'... Saving file c:/Documents and Settings/me/Local Settings/Temp/bmkp-temp-5348su1... Wrote c:/Documents and Settings/me/Local Settings/Temp/bmkp-temp-5348su1 Emptying bookmark file `c:/DOCUME~1/me/LOCALS~1/Temp/bmkp-temp-5348su1'...done
看起来你还有很多东西(Helm等)。在尝试理解或调试问题时,有助于尽可能缩小范围。谁能说出这里可能涉及的其他互动?
所有这些都说,我的建议是不开始使用临时书签模式。在你非常熟悉Bookmark +之前,我不建议你使用它。您可以在不使用此模式的情况下使用临时书签。
以下是使用临时书签的文档: http://www.emacswiki.org/cgi-bin/wiki/BookmarkPlus#toc55
最后,正如Stefan建议的那样,请通过电子邮件跟进。调试/讨论事情要容易得多。
Thx - 德鲁
更新2019-04-21:
我认为可能发生的事情是您在启用bmkp-temporary-bookmarking-mode
的情况下退出Emacs。尽管Bookmark +(正确)不保存临时书签文件,但它并未阻止bmkp-last-as-first-bookmark-file
的记录被更新为指向临时文件。在您的下一个Emacs会话中,由于bmkp-last-as-first-bookmark-file
而加载了临时文件(如果它仍然存在)。
现在应该没问题。启用bmkp-temporary-bookmarking-mode
现在会将bmkp-last-as-first-bookmark-file
重置为nil
,因此如果您在仍然启用临时模式的情况下退出,那么当您在新会话中加载书签文件时,读取的文件就是值bookmark-default-file
。 (bookmark-default-file
的值永远不会改变,除非你的
自定义。)
答案 1 :(得分:1)
也许您正在尝试使用“书签文件书签”?或者无论如何,意外地打C-x p x
?
声称这些内容符合EmacsWiki: Bookmark Plus / Bookmark-File Bookmarks,他们说“bmkp-set-bookmark-file-bookmark
,绑定到C-x p x
”。对于我的Emacs,这不是真的。
通过输入C-x p C-h
,我可以检查以C-x p
开头的密钥绑定。我找到了
C-x p x
绑定到bmkp-toggle-autotemp-on-set
和
C-x p y
绑定到bmkp-set-bookmark-file-bookmark
。
然后,链接应该改为C-x p y
。
答案 2 :(得分:0)
这是一个很老的问题,但是由于我遇到了同样的问题,而其他答案也无济于事,所以我将发布解决方案:
我正在使用来自desktop.el的桌面文件,并且在该桌面文件中设置了临时模式!从我所有的桌面文件中删除该设置即可解决此问题。
这可能很方便:
find ~ -name .emacs.desktop -print0 | xargs -0 grep -l bmkp-temporary-bookmarking-mode