«Открыть последние» в Emacs - PullRequest
37 голосов
/ 20 августа 2010

Имеет ли Emacs возможность открывать последние файлы (например, такое меню, как Файл> Открыть недавние ...)?

Я знаю, что Aquamacs для OS X имеет эту функцию. Но так ли это для всех версий Emacs?

Ответы [ 4 ]

34 голосов
/ 20 августа 2010

Самый идиоматический метод предоставления этой функциональности, который я знаю, заключается в использовании 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)

18 голосов
/ 20 августа 2010

Обычный GNU Emacs не имеет меню, отображающего недавно открытые файлы. Однако все команды Emacs имеют историю, включая find-file (C-x C-f). Выбор «Файл | Открыть »в меню или открытие файла с emacsclient также добавляет к этой истории. После нажатия C-x C-f, нажмите up и down для навигации по истории открытых файлов.

История сохраняется между сеансами, если вы включили сохранение сеансов с помощью пакета desktop.

10 голосов
/ 22 апреля 2013

Если вы просто хотите сохранить историю минибуфера между вызовами emacs, вы можете добавить в ваш .emacs следующее:

(режим сохранения 1)

В отличие от пакета рабочего стола, который может сохранять все ваши открытые буферы между вызовами, он делает только историю минибуферов (например, при открытии файла вы можете использовать стрелку вверх для навигации по списку файлов, которые вы открывали в предыдущем сеансе).

4 голосов
/ 21 августа 2011

GNU Emacs включает включает библиотеку recentf.el, начиная с Emacs 22. Просто делайте, как указано Р.П. Диллоном.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...