2009-05-25 9 views
26

で `定義-keyグローバル・map``の違いは次の2つのスニペットていた場合は何ですか:グローバル・セット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

+0

@Jaseem彼はただやったW/Bの違いを伝えることができればそれは素晴らしいことだろう。それは両者の違いです。 'global-set-key'は'(current-global-map) 'の値でキーを定義するためのショートカットです。 – buggy3

21

ファンクションglobal-set-keyは、define-keyに基づいてinteractive functionであり、これはM-x global-set-keyと入力して呼び出すことができます。関数define-keyはむしろLispプログラムで使用されます。

global-set-keyのソースコードをC-h f global-set-keyで検索すると、define-keyのみがラップされていることがわかります。

あなたの質問に答えるために、それらの間には大きな違いはありません。

関連する問題