Emacs中的"Open Recent"

pro*_*eek 37 emacs

Emacs是否有能力打开最近的文件(例如文件>打开最近的菜单...)?

我知道OS X的Aquamacs具有此功能.但它是否适用于所有Emacs版本?

R. *_*lon 34

提供此功能的最惯用的方法是我所知道的recentf-mode(更多信息).我在初始化文件中启用它:

(require 'recentf)

(recentf-mode 1)

然后它提供了一个交互式功能,recentf-open-files我将其绑定到C-x f该功能,它提供了一个跨越会话的最近打开文件的编号菜单,即使您关闭emacs并重新启动它,它也会保留您最近打开的文件.您可以使用初始化文件中的另一行将函数绑定到加速器,例如:

(global-set-key "\C-xf" 'recentf-open-files)

(可选的)

如果你大量使用Tramp,recentf也会跟踪这些文件,并且这是定期清理的事情,因为文件是远程的,所以这可能是一个真正的混乱.通过将它放在启动文件中来防止这种情况:

(setq recentf-auto-cleanup 'never)


Gil*_*il' 18

普通的GNU Emacs没有显示最近打开文件的菜单.但是,所有Emacs命令都有历史记录,包括find-file(C-x C-f).选择"文件| 打开"在菜单中或打开文件emacsclient也添加到此历史记录.按下后C-x C-f,按updown导航已打开文件的历史记录.

如果您使用desktop程序包启用会话保存,则会话之间会保存历史记录.

  • 但是,关闭emacs后,此历史记录将被删除. (5认同)
  • 大多数人在有意或无意的情况下,用旧的旧查找文件替换为“ ido-find-file”。ido的历史完全不同。在这里,centralf可能是一个更好的解决方案。 (2认同)

小智 10

如果您只想在emacs调用之间保存迷你缓冲区历史记录,可以将以下内容放在.emacs中:

(保存模式1)

与可以跨调用保存所有打开缓冲区的桌面软件包不同,这只会填充迷你缓冲区历史记录(例如,打开文件时,您可以使用向上箭头导航您在上一个会话中打开的文件列表).


Dre*_*rew 5

GNU Emacs确实包含 library recentf.el,因为 Emacs 22。只要按照 RP Dillon 的指示去做。