2009-05-25 41 views
26

'定义键全球map`之间`的区别如果你有两个片段:什么是全局设置key`和在Emacs

(global-set-key "\C-d" delete-char) 

(define-key global-map "\C-d" delete-char) 

是否有两者的区别?如果是这样,你什么时候使用一个呢?

回答

16

全球设置键在subr.el定义为:

(define-key (current-global-map) key command)) 
+1

这将是很好,如果你可以告诉黑/白2 – Jaseem 2013-05-01 20:35:40

+0

@Jaseem他只是做了区别。这是两者之间的差异。 'global-set-key'是定义'(current-global-map)'的值中的一个键的快捷键。 – buggy3 2016-12-12 00:53:19

21

功能global-set-key是基于define-keyinteractive function,您可以通过输入M-x global-set-key来调用该功能。函数define-key更适用于Lisp程序。

你可以用C-h f global-set-key查看global-set-key的源代码,看它是否只包装define-key

要回答你的问题,它们之间没有显着差异。