如何防止在 recentf 列表中处理和列出的 peep-dired 文件?
How to prevent peep-dired files processed and listed in recentf list?
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)
'
您应该可以使用选项 recentf-exclude
来排除您想要排除的文件。如果您想排除该目录中的所有文件,只需提供与目录名称匹配的正则表达式(或谓词)。
(另见选项 recentf-keep
。)
将以下内容放入 ~/.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 模式下查看文件。
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)
'
您应该可以使用选项 recentf-exclude
来排除您想要排除的文件。如果您想排除该目录中的所有文件,只需提供与目录名称匹配的正则表达式(或谓词)。
(另见选项 recentf-keep
。)
将以下内容放入 ~/.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 模式下查看文件。