7

我尝试了各种版本均无济于事:

(global-set-key (kbd "C-<space>") 'tempo-complete-tag)

(global-set-key [C-space] 'tempo-complete-tag)

我正在使用 CUA 模式并在 Ubuntu 上运行 Emacs,版本:GNU Emacs 23.1.50.1 (x86_64-pc-linux-gnu, GTK+ Version 2.18.0) of 2009-09-27 on crested,由 Debian 修改

当我tempo-complete-tag手动运行时,它告诉我它已绑定到 C 空间,但 C 空间仍在运行cua-set-mark(或者如果 CUA 被禁用,则set-mark-command)。

如何将 Emacs 中的 C-space 快捷方式重新绑定到我决定的命令?

4

3 回答 3

21

C-h k (key)将告诉您 Emacs 如何引用给定的键(在本例中为“C-SPC”)。(global-set-key (kbd "C-SPC") 'tempo-complete-tag)会做你想做的。

我总是将该(kbd)函数用于键绑定,因为它允许您以与通常在其他任何地方编写的方式相同的方式引用键。

请记住,C-SPC 是标准set-mark-command绑定!我个人会选择不同的东西:)

于 2010-07-12T10:02:58.547 回答
4

还要记住,“global-set-key”只会做你想做的事,如果你的模式没有覆盖它。我懒得加载 tempo 来查看它是否确实 override C-SPC,但它可能会这样做,在这种情况下,你想把它放在你的 .emacs 中:

(add-hook 'tempo-mode-hook
          (lambda ()
            (local-set-key (kbd "C-SPC") 'tempo-complete-tag)
            ))
于 2010-07-12T15:47:55.733 回答
0

键绑定的替代语法是通过向量:

(global-set-key [?\M-\ ] 'cycle-spacing)
(global-set-key [?\C-\ ] 'tempo-complete-tag)
于 2017-01-29T13:04:59.900 回答