Emacs键绑定具有多个击键

时间:2012-04-16 17:53:40

标签: emacs key-bindings

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

我在F5上有组织模式议程(而不是“默认”C-a),所以我为今天的议程命中了F5-a。我很乐意为我的组织文件,联系人文件等提供相同的信息。

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

2 个答案:

答案 0 :(得分: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)

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

答案 1 :(得分:1)

使用可以complete file names from recent files的套餐可以获得更好的效果。这比将文件名明确地绑定到键上的静态要少,并且您可以使用此方法轻松访问最近使用的文件,而不仅仅是5.