読者です 読者をやめる 読者になる 読者になる

anything-for-filesにrecentfを全て表示したい

recentf-max-saved-items を変更しても,anything-for-files で表示される recentf が増えないのが嫌だったので anything-c-source-recentf を書き換えた.やることは anything-for-filesでlocateを有効にすると表示直後に移動したカーソルが一番上に戻される問題 - 勉強日記 とほぼ同じ.

;;; recentf の表示数を 100 まで拡張
(setq recentf-max-saved-items 100)

(setq anything-c-source-recentf
      `((name . "Recentf")
        (init . (lambda ()
                  (require 'recentf)
                  (or recentf-mode (recentf-mode 1))))
        (disable-shortcuts)
        (candidates . recentf-list)
        (keymap . ,anything-generic-files-map)
        (help-message . anything-generic-file-help-message)
        (candidate-number-limit . ,recentf-max-saved-items) ; 標準定義にこれを追加した
        (mode-line . anything-generic-file-mode-line-string)
        (match anything-c-match-on-basename)
        (type . file)))

注意することは,recentf-max-saved-items への代入を先に行うことと,recentf-max-saved-items の前にカンマを置くこと.クォートの代わりにバッククォートを使用すると,カンマ直後の変数を展開してくれる.