如何防止被的文件被处理并列在最近的列表中?



Emacs Recentf 构建了一个最近打开的文件列表,以便以后访问。 如果我使用来预览文件,最近的列表将充斥着列表。 如果文件来自窥视过程,是否有更好的方法来排除它们?

我已经尝试过像下面这样的东西,但没有运气。

(define-globalized-minor-mode my-global-recentf-mode recentf-mode
(lambda ()
(unless (or (minibufferp)
(derived-mode-p 'dired-mode 'peep-dired-mode 'super-save-mode))
(recentf-mode 1))))
(my-global-recentf-mode 1)
'

将以下内容放入~/.emacs文件中,然后键入M-x eval-buffer或重新启动 Emacs:

(eval-after-load "peep-dired"
'(progn
(defun peep-dired-display-file-other-window--recentf-fix (orig-fun &rest args)
(let ((recentf-exclude '(".*")))
(apply orig-fun args)))
(advice-add 'peep-dired-display-file-other-window :around
#'peep-dired-display-file-other-window--recentf-fix)))

此代码确保recentf-exclude设置为在 dired 模式下窥视文件时与任何文件名匹配。

您应该能够使用选项recentf-exclude来排除要排除的文件。如果要排除该目录中的所有文件,只需提供与目录名称匹配的正则表达式(或谓词(。

(另请参阅选项recentf-keep

最新更新