3

我已经下载了 Mac OS X 的 Emacs 24 pretest 并使用 Prelude + evil kit。我来自 vim 背景,发现 Mx 使用起来太慢而且太痛苦。有没有办法将 Mx 键映射到 ESC 键附近的 ` 键?谢谢。

4

2 回答 2

4
(global-set-key (kbd "`") 'execute-extended-command)
于 2012-05-01T16:27:34.400 回答
3

发现Mx使用起来太慢太痛苦

我是一名打字员,我碰巧也这么想,而且我也认为,此外,所有的C-x快捷方式也很难做到。

有没有办法将 Mx 键映射到 ESC 键附近的 ` 键?

我会说 ESC 键并不是真正的“关闭”键:您的左小指必须移动很多才能到达那里(您需要移动整个手,这效率不高,或者您需要“伸展”您的手指)。

我在 QWERTY 键盘上所做的是重新映射C-XC-,

您可能想做类似的事情:在我看来,它真的很有帮助。所以也许映射C-xC-,M-xM-,会有所帮助?

您可以像通过直接设置全局键建议的其他答案一样执行此操作:

(define-key global-map [(control ,)] ctl-x-map)

或者您可以定义自己的次要模式,在其中放置所有映射,然后打开该次要模式(我在 SO 上了解到):

(define-key my-keys-minor-mode-map (kbd "C-,") ctl-x-map)
(define-key my-keys-minor-mode-map (kbd "M-,") 'execute-extended-command)
... put more mappings here ...

(define-minor-mode my-keys-minor-mode
  "A minor mode so that my key settings override annoying major modes."
  t " my-keys" 'my-keys-minor-mode-map)

(my-keys-minor-mode 1)

或者你当然会“丢失”之前对 C- 和 M- 的映射,但恕我直言,这是完全值得的。

您可能想在此处阅读用户scottfrazer的出色答案和解释(这就是我在.emacs文件中创建自己的密钥次要模式所遵循的方法):

在 Emacs 中全局覆盖键绑定

于 2012-05-03T09:59:51.967 回答