2010-08-19 189 views
32

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

我知道OS X的Aquamacs具有此功能。但是,所有Emacs版本都是如此?

回答

13

普通GNU Emacs没有菜单显示最近打开的文件。但是,所有Emacs命令都有历史记录,包括find-fileC-x C-f)。选择“文件|”打开“或打开一个文件emacsclient也增加了这个历史。按C-x C-f后,按updown导航已打开文件的历史记录。

如果使用desktop软件包启用会话保存,会话之间会保存历史记录。

+1

好的旧查找文件被大多数人故意或不知情地替换为“ido-find-file”。 ido的历史是一个完全不同的行业。 recentf可能是一个更好的解决方案。 – Jaseem 2014-09-13 03:17:50

+4

但是,在关闭emacs之后,此历史记录将被删除。 – fiacobelli 2014-12-09 15:41:36

+0

@fiacobelli因此我建议使用'desktop'软件包。 – Gilles 2014-12-09 16:30:53

31

提供此功能的最习惯方法,我知道是通过使用recentf-mode(更多here)。我能在我的初始化文件有:

(require 'recentf)

(recentf-mode 1)

然后,它提供了一个互动功能,recentf-open-files,我结合C-x f,它提供的最近打开的文件跨越会话编号菜单即,即使您关闭了emacs并重新启动它,它仍将保留您最近打开的文件。您可以将功能绑定到加速与初始化文件另一条线路,如:

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

(可选)

如果广泛使用流浪汉,recentf将跟踪这些文件过了,它是定期清理的东西,因为这些文件是远程的,所以它可能是一个真正的混乱。通过把你的启动文件,防止这种情况:

(setq recentf-auto-cleanup 'never)

+0

我主张反对将recentf绑定到'C-x f'。它需要你打开一个特定的文件,这可能会或可能不会在我们的历史中。如果您已启用ido,请使用'ido-find-file'进行模糊匹配和速度。所以对我来说,映射到'ido-find-file'和“C-x C-r”的“C-x C-f”绑定到'recentf-open-files – Jaseem 2014-09-13 03:20:45

4

GNU Emacs的确实包括图书馆recentf.el,因为Emacs的22.只要做到通过R.P.狄龙所示。

5

如果你只是想保存emacs的调用你的小缓冲区的历史可以把你的.emacs以下几点:

(SAVEHIST模式1)

不同于桌面软件包,可以保存所有打开的缓冲区跨越调用,这只是minibuffer历史记录(例如,当打开一个文件时,您可以使用向上箭头浏览您在前一个会话中打开的文件列表)。

+0

我认为这是最好的解决方案!你不需要桌面。事实上,你可能不希望所有的缓冲区都被保存起来...... – Skuge 2016-02-12 17:19:13