5

Emacsには、最後に開いたファイルを開くコマンドがありますか?のようにvisit-most-recent-file

最近のファイルのリストを表示してから1つを選択したくないことに注意してください。最近開いたものに自動的にアクセスしたい。

1回のキーストロークで、最近開いたファイル(現在のバッファーにはない)にアクセスすると便利です。次に、キーストロークを再度呼び出すなどして、次に開いたファイルにアクセスできるようにします。

そのキーストロークを4回押すと(たとえばA-UP)、最近のファイルリストの上位4つのファイルを自動的に開くことができます。

最近のファイルを参照したり、を押したりすることで、すでにこれを行うことができますC-x C-f UP RETが、1回のキーストロークで行うのはクールです(例A-UP)。

4

2 に答える 2

3

ポキタの答えを基に、

(defun visit-most-recent-file ()
  "Visits the most recently open file in `recentf-list' that is not already being visited."
  (interactive)
  (let ((buffer-file-name-list (mapcar 'buffer-file-name (buffer-list)))
        most-recent-filename)
    (dolist (filename recentf-list)
      (unless (memq filename buffer-file-name-list)
        (setq most-recent-filename filename)
        (return)))
    (find-file most-recent-filename)))

私はこれをあまりテストしていません。

于 2013-02-18T22:45:35.173 に答える
2

これは、recentfパッケージを使用して行うことができます。

(require 'recentf)
(defvar my-recentf-counter 0)
(global-set-key (kbd "<M-up>")
        (lambda ()
          (interactive)
          (setq my-recentf-counter (1+ my-recentf-counter))
          (recentf-open-most-recent-file my-recentf-counter)))

「最近の」リストに興味のないファイル(Emacsを終了するときに保存された一時的なもの)があるという問題におそらく直面するでしょう。最近開いたファイルのリストからそれらのファイルを除外するには、recentf-exclude変数を使用します。

于 2013-02-16T21:45:33.007 に答える