在Windows上的Emacs中更改.ido.last历史文件的位置

时间:2014-02-20 19:56:21

标签: emacs ido-mode

在Windows上使用启用了ido模式的Emacs时,Emacs会在退出时尝试保存历史文件.ido.last。该文件位于C:/。ido.last中,但失败并显示权限被拒绝消息。这很奇怪,因为我实际上可以访问该文件夹。但是:

是否有命令更改保存.ido.last文件的目录?

1 个答案:

答案 0 :(得分:4)

简短回答:(setq ido-save-directory-list-file "/some/file/name")

答案很长:

我将记住Emacs状态的所有小文件保存在user-emacs-directory下的单个目录中。我不确定这在Windows上是什么,但我认为它是C:\Users\<username>\Application Data\.emacs.d\。在Unix上,它是~/.emacs.d/。变量user-emacs-directory应该由Emacs定义,不需要设置它。

(setq emacs-persistence-directory (concat user-emacs-directory "persistence/"))
(unless (file-exists-p emacs-persistence-directory)
    (make-directory emacs-persistence-directory t))
(setq ido-save-directory-list-file (concat emacs-persistence-directory
                                           "ido-last"))

您可能需要查看no-littering包,它会为此类文件设置更好的默认位置。