2010-08-19 190 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