我想在 emacs 中通过两次击键打开我最喜欢的五个(左右)文件。我在想文件 a 用 F9-a,文件 b 用 F9-b,等等。
我在 F5 有 org-mode 议程(而不是“默认”Ca),所以我按 F5-a 作为今天的议程。我希望我的 org 文件、我的联系人文件等也有相同的内容。
有没有办法(或者更确切地说:有什么办法)让 F9 打开一个子菜单,其中包含我最喜欢的文件列表,以便用另一个按键选择?
我想在 emacs 中通过两次击键打开我最喜欢的五个(左右)文件。我在想文件 a 用 F9-a,文件 b 用 F9-b,等等。
我在 F5 有 org-mode 议程(而不是“默认”Ca),所以我按 F5-a 作为今天的议程。我希望我的 org 文件、我的联系人文件等也有相同的内容。
有没有办法(或者更确切地说:有什么办法)让 F9 打开一个子菜单,其中包含我最喜欢的文件列表,以便用另一个按键选择?
此设置可以满足您的要求,至少在键盘映射方面。它实际上并没有弹出菜单。
(setq my-file-menu-keymap
(let ((keymap (make-sparse-keymap)))
(dolist (pair '(("a" . "~/.emacs")
("b" . "~/.phones")
("c" . "~/org/daily.org")))
(define-key keymap (car pair)
`(lambda () (interactive) (find-file ,(cdr pair)))))
keymap))
(global-set-key (kbd "<f9>") my-file-menu-keymap)
我使用一个键来循环浏览我最喜欢的文件(适用于少量文件,我不关心随机访问)。您可以在this answer to a different SO question中找到相应的代码(请参阅cycle-special-files)。
使用允许您从最近的文件中完成文件名的包,您可能会获得更好的结果。这不像将文件名显式绑定到键那样静态,并且您可以使用此方法轻松访问最近使用的文件,而不仅仅是 5。