当我使用 Emacs 时,我希望能够轻松地显示和浏览我处理的文件列表,这些文件不仅来自当前会话,还来自以前的会话。(顺便说一句,在 Windows 上运行 Emacs 22.2)
2 回答
来自Joe Grossberg的博客(不再可用):
但是,如果您使用的是 GNU Emacs 21.2(最新版本,将其作为标准发行版的一部分),您只需将以下行放入您的 .emacs 文件中
;; recentf stuff (require 'recentf) (recentf-mode 1) (setq recentf-max-menu-items 25) (global-set-key "\C-x\ \C-r" 'recentf-open-files)
然后,当你启动 emacs 时,点击 CTRL- X CTRL- R。它将显示缓冲区中最近打开的文件的列表。将光标移动到一行并按 ENTER。这将打开有问题的文件,并将其移至最近文件列表的顶部。
(注意:Emacs 记录文件名。因此,如果您在 Emacs 之外移动或重命名文件,它不会自动更新列表。您必须使用正常的 -- 方法打开重命名的CTRL文件X CTRL。F)
Jayakrishnan Varnam 有一个页面,其中包含该软件包如何工作的屏幕截图。
注意:您不需要这(require 'recentf)
条线。
即使您没有打开 recentf,Emacs 也会将通过 minibuffer 输入的文件列表保存在变量file-name-history
. 此外,(savehist-mode 1)
在您的.emacs
文件中执行会使该变量在 Emacs 的调用中保持不变。
所以这里有一个小函数,它显示该列表中实际存在的文件(欢迎任何人使用/构建它):
(defun dir-of-recent-files ()
"See the list of recently entered files in a Dired buffer."
(interactive)
(dired (cons
"*Recent Files*"
(seq-filter
'file-exists-p
(delete-dups
(mapcar (lambda (s) (string-trim-right s "/*"))
file-name-history)
))))
)
我发现这非常有用,并将它绑定到我的桌面键盘上的那些小特殊功能键之一。(所以我还没有看到打开recentf的意义......)