重新绑定emacs“C-d”以删除单词

时间:2012-09-12 16:50:22

标签: emacs keymapping

我尝试了几种不同的方法,但都没有成功。我想在c ++文件中工作时分别切换M-d和C-d功能(删除字,删除字符)。

有人可以帮我一把吗?

2 个答案:

答案 0 :(得分:2)

(add-hook 'c-initialization-hook
          (lambda ()
            (define-key c++-mode-map "\C-d" 'kill-word)
            (define-key c++-mode-map "\M-d" 'c-electric-delete-forward)))

来自CC Hooks - CC Mode Manulal

  

变量: c-initialization-hook

     

当CC模式初始化时,每个Emacs会话只运行一次钩子。这是在任何CC模式键映射中更改键绑定(或添加新键)的好地方。见Sample .emacs File

答案 1 :(得分:1)

(eval-after-load "cc-mode"
  '(progn
     (define-key c++-mode-map (kbd "C-d") 'kill-word)
     (define-key c++-mode-map (kbd "M-d") 'delete-char)))