recentf cleanup 不能清除recentf list

执行recentf cleanup 没有清除文件, 只显示Cleaning up the recentf list…done (0 removed)

文档里说只会移除这些文件:

Cleanup the recent list.

That is, remove duplicates, non-kept, and excluded files.

不会移除老文件。

1 个赞

直接手动删除好了 ~/.emacs.d/recentf

3 个赞

试着去删除recentf,但用的是doom,似乎在.emacs.d下面找不到recentf啊

看下 ~/.recentf 这个文件存在不存在,如果也不存在的话,可以试着看一下 recentf-save-file 这个变量, recentf list 默认路径就是保存在这个变量里的。

试了一下recentf-save-list,发现其位置在 .emacs.d/.local/cache中,但具体cat一下recentf,显示的却并非最近文件列表,而是如下内容,看起来删了也没啥用

;;; Automatically generated by ‘recentf’ on Wed Jul 22 21:46:57 2020.

(setq recentf-list 'nil)

(setq recentf-filter-changer-current 'nil)

;; Local Variables:

;; coding: utf-8-emacs

;; End:

是最近文件列表,最近文件列表就是存储在 recentf-list 这个变量里面的。你的是 nil,要么是 recentf 没有使用,要么 doom 自己对 recentf 进行了一些配置。

拿我自己的文件举例子的话,大致是这样的

;;; Automatically generated by ‘recentf’ on Wed Jul 22 21:14:32 2020.
(setq recentf-list
      '(
        "/home/zmqc/.emacs.d/Configurations/extensions.el"
        "/home/zmqc/.emacs.d/recentf"
        "/home/zmqc/.emacs.d/Configurations/bindings.el"
        "/home/zmqc/.emacs.d/Configurations/programs.el"
        "/home/zmqc/.emacs.d/Configurations/my-tools.el"
        "/home/zmqc/.emacs.d/Configurations/emacs-std.el"
        "/home/zmqc/.emacs.d/Configurations/my-emms.el"
        "/home/zmqc/.emacs.d/init.el"))

(setq recentf-filter-changer-current 'nil)


;; Local Variables:
;; coding: utf-8-emacs
;; End:

请问 recentf-list 里面可以让它显示相对于 home 的路径么?比如我已经把 home 路径设置成 “/home/username/" 了,那么 recentf-list 里可以就显示 “~/.emacs.d/…” 之类的吗?