如题,请教下两者的区别,这个真的是有点难google出来。。。
bind-key*
是方便用户使用的宏,global-set-key是emacs自带的(也就是说比较老的)function.
bind-keys 可以支持在不同的 map里面定义键位绑定,而且不需要使用者每次用(kbd “C-x C-f”) 这样的macro。
还有用bind-keys 一次绑定多个键位写起来也更方便些。
嗯嗯,谢谢。我其实是想问
(defmacro bind-key* (key-name command &optional predicate)
"Similar to `bind-key', but overrides any mode-specific bindings."
`(bind-key ,key-name ,command override-global-map ,predicate))
这里说的override-global-map
, but overrides any mode-specific bindings
具体是啥意思。
1 个赞
override-global-map
是bind-key
这个package弄得一个key map,他的优先级比各个模式的map的优先级要高
好比你 C-c C-c
在不同模式绑定到不同的命令(在各个模式的map里),如果你要统一覆盖成一个命令,可以
(bind-key* "C-c C-c" my-command)
这样就不用在每个模式unbind C-c C-c
了
2 个赞
原来如此。多谢了,那我直接全改成bind-key*
了。