【问题标题】:Rebind C-space in Emacs在 Emacs 中重新绑定 C 空间
【发布时间】:2010-07-12 08:58:59
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: emacs keyboard-shortcuts cua


    【解决方案1】:

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

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

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

    【讨论】:

    • 万岁!做到了!我在想backspace,并天真地认为空间被称为space。但我们在这里处理的是 Emacs。 :-)
    • 同意;元空间可能比控制空间更好
    • 致所有使用evil-mode 的人:vevil-mode 中的set-mark-command,所以继续使用C-SPC。
    【解决方案2】:

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

    (add-hook 'tempo-mode-hook
              (lambda ()
                (local-set-key (kbd "C-SPC") 'tempo-complete-tag)
                ))
    

    【讨论】:

      【解决方案3】:

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

      (global-set-key [?\M-\ ] 'cycle-spacing)
      (global-set-key [?\C-\ ] 'tempo-complete-tag)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多