如何实现打开指定位置的recentf文件

我的设置里面设置了recentf的保存路径,但通过recentf-open-files命令无法直接打开,看了一下这个fun,它有可选参数file带入,document中显示是 (recentf-open-files &optional FILES BUFFER-NAME) ,我用 (recentf-open-files (simon-recentf-file)) (recentf-open-files 'simon-recentf-file)
(recentf-open-files simon-recentf-file)都无法正常打开,请教下,这个files文件该如何传入,谢谢,我的这部分配置如下:

(defvar simon-dir (file-name-directory load-file-name)
  "The root dir of the Emacs Simon distribution.")
(defvar simon-savefile-dir (expand-file-name "savefile" simon-dir)
  "This folder storess all the automatically generated save/history-files.")
(require 'recentf)
(recentf-mode t)
(defvar simon-recentf-file (expand-file-name "recentf" simon-savefile-dir)
  "My recentf path.")
(setq recentf-save-file simon-recentf-file)
(setq recentf-max-menu-items 27)
(defun simon-recentf-open-files (simon-recentf-file)
  (interactive)
  (recentf-open-files (simon-recentf-file)))
(global-set-key "\C-x\ \C-r" 'simon-recentf-open-files)

请问我使用 (recentf-open-files &optional FILES BUFFER-NAME)函数,上述代码中FILES参数是否传入正确。 要实现,打开我指定保存位置的recentf,该如何配置,谢谢。

  • 我看不懂你的标题,请不要这样起标题;
  • 请用 Markdown 语法格式化你的代码;
  • 请说出你的需求,而不仅仅是所遇到的问题。注意 XY 问题 陷阱。
1 个赞

参考prelude里面的方法,解决了,这个问题,具体的逻辑还再学习,先附上配置:

(require 'recentf)
(setq recentf-save-file (expand-file-name "recentf" simon-savefile-dir)
      recentf-max-saved-items 500
      recentf-max-menu-items 17
      recentf-auto-cleanup 'never)
(defun simon-recentf-exclude-p (file)
  (let ((file-dir (file-truename (file-name-directory file))))
    (-any-p (lamdba (dir)
		    (string-prefix-p dir file-dir))
	    (mapcar 'file-truename (list simon-savefile-dir package-user-dir)))))
(add-to-list 'recentf-exclude 'simon-recentf-exclude-p)
(recentf-mode t)

快捷键,还是绑定到recentf-open-files上,如下:

(global-set-key (kbd "C-x C-r") 'recentf-open-files)