代码之家  ›  专栏  ›  技术社区  ›  Adam Lindberg

在Emacs中重新绑定c-space

  •  6
  • Adam Lindberg  · 技术社区  · 16 年前

    我尝试过各种版本,但都无济于事:

    (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_-PC-Linux-GNU,GTK+版本2.18.0) 2009年9月27日,戴冠,由Debian修改

    当我奔跑 tempo-complete-tag 手动它告诉我它绑定到c-space,但c-space仍在运行 cua-set-mark (或者如果CUA被禁用, set-mark-command )

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

    3 回复  |  直到 9 年前
        1
  •  19
  •   phils    16 年前

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

    我总是用 (kbd) 用于键绑定的函数,因为它允许您以同样的方式引用键,通常它被写到其他地方。

    请记住,C-SPC是一个标准 set-mark-command 结合!就我个人而言,我会选择不同的东西:)

        2
  •  4
  •   offby1    16 年前

    还要记住,“全局设置键”只会做你想做的,如果你的模式不覆盖它。我太懒了,不能加载速度,看它是否真的覆盖了 C-SPC ,但它很可能会这样做,在这种情况下,您希望将它放入.emacs中:

    (add-hook 'tempo-mode-hook
              (lambda ()
                (local-set-key (kbd "C-SPC") 'tempo-complete-tag)
                ))
    
        3
  •  0
  •   gavenkoa    9 年前

    键绑定的可选语法是通过矢量:

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