Изменить количество файлов, недавно хранящихся в хранилищах emacs, с помощью метода завершения ido

Я использую метод ido, указанный на этой странице: http://www.emacswiki.org/emacs/RecentFiles . Я хочу иметь возможность выбирать количество последних файлов, которые он хранит. Кажется, не хранить очень много. Есть ли настройка для этого или простой способ сделать это. Функции перечислены ниже для справки. Ваше здоровье

    (defun recentf-interactive-complete ()
  "find a file in the recently open file using ido for completion"
  (interactive)
  (let* ((all-files recentf-list)
     (file-assoc-list (mapcar (lambda (x) (cons (file-name-nondirectory x) x)) all-files))
     (filename-list (remove-duplicates (mapcar 'car file-assoc-list) :test 'string=))
     (ido-make-buffer-list-hook
      (lambda ()
        (setq ido-temp-list filename-list)))
     (filename (ido-read-buffer "Find Recent File: "))
     (result-list (delq nil (mapcar (lambda (x) (if (string= (car x) filename) (cdr x))) file-assoc-list)))
     (result-length (length result-list)))
    (find-file 
     (cond 
      ((= result-length 0) filename)
      ((= result-length 1) (car result-list))
      ( t
    (let ( (ido-make-buffer-list-hook
        (lambda ()
          (setq ido-temp-list result-list))))
      (ido-read-buffer (format "%d matches:" result-length))))
      ))))

person J Spen    schedule 05.11.2011    source источник


Ответы (1)


Возможно, вам нужно установить recentf-max-saved-items на указанное значение, например:

(setq recentf-max-saved-items 30) ; or what ever you want
person Tao Peng    schedule 06.11.2011
comment
Кажется, это изменилось с recentf-max-menu-items в старых версиях. - person Svante; 04.02.2014
comment
Нет, recentf-max-menu-items определяет, сколько элементов отображается, а не сколько сохраняется. Вы можете, например, сохранить 500 самых последних элементов и отобразить только 30 лучших. (Затем вы можете использовать ido или что-то еще, когда хотите воспользоваться более глубокой историей) - person PythonNut; 30.10.2014