Emacs键绑定具有多个击键

Ale*_*rdt 3 emacs key-bindings

我想用emacs中的两个按键打开我的五个(或那样)最喜欢的文件.我在想文件a的F9-a,文件b的F9-b等等.

我在F5有一个组织模式议程(而不是"默认"Ca),所以我为今天的议程命中了F5-a.我想为我的组织文件,联系人文件等提供相同的信息.

有没有办法(或者更确切地说:是什么方式)让F9打开一个子菜单,其中包含我喜欢的文件列表,可以选择另一个按键?

Tre*_*son 6

此设置可满足您的要求,至少在键盘图方面如此.它实际上没有弹出菜单.

(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)
Run Code Online (Sandbox Code Playgroud)

我使用一个键来循环浏览我最喜欢的文件(适用于少量文件,我不关心随机访问).您可以在此答案中找到针对不同SO问题的代码(请参阅cycle-special-files).