首页 > 解决方案 > 如何防止在recentf列表中处理和列出的窥视文件?

问题描述

Emacs Recentf 构建一个最近打开的文件列表,以便以后访问。如果我使用 peep-dired 预览文件,recentf 列表将被 peep-dired 列表淹没。如果文件来自窥视进程,是否有更好的方法来排除文件?

我已经尝试过以下这样的事情,但没有运气。

(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

解决方案


将以下内容放入您的~/.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 模式窥视文件时将其设置为匹配任何文件名。


推荐阅读