观察人们如何在 Emacs 中编写键盘快捷键,我注意到两种不同的模式:
一种用途:
(global-set-key (kbd "M-N) 'select-next-window)
另一个:
(define-key global-map (kbd "M-N") 'select-next-window)
他们之间有什么区别?它们不是都在 Emacs 中定义了“全局”键盘快捷键吗?
答案1
在主要情况下似乎没有太大区别:
(global-set-key key command)
归结为(define-key (current-global-map) key command))
, 和describe-var
告诉我们global-map
“是一个键盘映射,通常(但不一定)是 Emacs 的全局映射”,而(current-global-map)
“返回当前的全局键盘映射”。
然而,Emacs 文档谈论“”全局键盘映射,因此不清楚如何(如果有的话)遇到多个全局键盘映射。