当我尝试关闭emacs时,我收到消息
“缓冲区ido.last已修改;无论如何都要杀死?”
无论我回答什么,emacs都会保持开放状态。但我无法打开此缓冲区并且ido.last文件不存在。如何关闭我的emacs?
答案 0 :(得分:5)
如果您使用emacs作为另一个用户,例如root,则.ido.last文件可能由root拥有,因此您不能删除或保存它。
当你得到“缓冲.ido.last修改”字样时,只需删除.ido.last文件,然后再回答是(如果你在shell中使用emacs,只需要Cz,删除文件然后继续使用% )。然后.ido.last文件将作为所有者写入磁盘。
答案 1 :(得分:3)
IDO尝试将名为ido.last
的文件保存到~/.emacs.d
目录中。但是,在你的情况下,IDO似乎无法这样做。也许您的~/.emacs.d
目录由于特定原因是只读的,或者您的磁盘已满,等等。因此,IDO会引发一个错误,阻止您的emacs关闭。
如果您不使用IDO,请尝试从.emacs中删除此类行:
(require 'ido)
(ido-mode t)
答案 2 :(得分:0)
与JérômeRadix一样,IDO在无法保存ido.last
文件时会出现错误,并且该错误会阻止emacs关闭。
IDO保存文件的默认位置是~/.emacs.d
目录,但可以通过设置变量ido-save-directory-list-file
来覆盖它。这意味着您应该检查此变量的值(例如,M-x describe-variable
)以查看IDO尝试保存文件的位置,并找出无法保存文件的原因。
可能的原因包括:
答案 3 :(得分:0)
将此代码(例如,添加到.emacs.el
,init.el
等)添加到
用ido修复问题,防止emacs退出
当ido.last
文件不可写时:
(defun ido-kill-emacs-hook ()
(ignore-errors (ido-save-history)))