Измените количество файлов, находящихся недавно в хранилищах emacs, используя метод завершения ido - PullRequest
1 голос
/ 06 ноября 2011

Я использую метод 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))))
      ))))

1 Ответ

6 голосов
/ 06 ноября 2011

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

(setq recentf-max-saved-items 30) ; or what ever you want
...