4

键入后C-x r l,我得到一个名为*Bookmark List* In this buffer 我看到的缓冲区:

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 继续删除临时书签文件。?

4

3 回答 3

1

看起来某处(例如检查您的 .emacs 文件)已打开bmkp-temporary-bookmarking-mode。当该模式打开时,您创建的任何书签仅适用于当前会话 - 它们不会保存到您的书签文件中。

这意味着您的书签文件位置设置将被忽略。(注意,顺便说一句,这bmkp-default-bookmark-file是一个函数,而不是变量——它不是您设置的东西。而且您不需要所有这些书签文件设置;有些是多余的:旧版本的 Emacs 书签中的旧名称。 )

我不知道您为什么要创建和保存多个临时书签文件。你没有提供完整的食谱。你应该只得到一个这样的。这就是我*Messages*在这方面看到的所有内容,例如:

  正在清空书签文件 `c:/DOCUME~1/me/LOCALS~1/Temp/bmkp-temp-5348su1'...
  保存文件 c:/Documents and Settings/me/Local Settings/Temp/bmkp-temp-5348su1...
  写了 c:/Documents and Settings/me/Local Settings/Temp/bmkp-temp-5348su1
  清空书签文件 `c:/DOCUME~1/me/LOCALS~1/Temp/bmkp-temp-5348su1'...完成

看起来您还有很多事情要做(Helm 等)。在尝试理解或调试问题时,它有助于尽可能缩小范围。谁能说出这里可能涉及哪些其他交互?

综上所述,我的建议是不要一开始就使用临时书签模式。在您对 Bookmark+ 非常熟悉之前,我不建议您使用它。您可以在不使用此模式的情况下使用临时书签。

这是关于使用临时书签的文档: http ://www.emacswiki.org/cgi-bin/wiki/BookmarkPlus#toc55

最后,正如 Stefan 所建议的,请通过电子邮件跟进。详细调试/讨论事情要容易得多。

谢谢——德鲁


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-filenil,因此如果您在临时模式仍然启用的情况下退出,那么当您在新会话中加载书签文件时,读取的文件是bookmark-default-file. (的值bookmark-default-file永远不会改变,除非您的自定义。)

于 2013-03-30T21:56:42.960 回答
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改为。

于 2014-02-24T23:38:18.533 回答
0

这是一个很老的问题,但是由于我遇到了同样的问题并且其他答案对我没有帮助,我将发布我的解决方案:

我正在使用 desktop.el 中的桌面文件,并且在桌面文件中设置了临时模式!从我的所有桌面文件中删除该设置解决了这个问题。

这可能很方便:

find ~ -name .emacs.desktop -print0 | xargs -0 grep -l bmkp-temporary-bookmarking-mode
于 2019-06-24T14:33:54.370 回答