我已经做了一些搜索并且找不到我要找的东西所以我想我会问。这可能是因为没有使用正确的术语。
我是emacs的新手,使用vim八年左右,但我真的需要一个编辑器,我可以改变自己的意愿,所以我正在转换。现在在vim中,您可以定义一个领导键,以避免与各种扩展重叠绑定。在emacs中,应该只为用户留出和弦,但各种模式都不符合这一要求。在emacs中是否有一种方法可以确保我的自定义绑定不会与vim领导键重叠?我问的原因是我想保持我的约束力。
答案 0 :(得分:5)
本手册详细介绍了这些惯例:
C-h i g (elisp) Key Binding Conventions
RET
为最终用户保留的序列是:
[A-Za-z]
我建议使用最简单的序列作为前缀绑定,因为您可以使用任何键跟随它们,为您提供大量选项。
如果您不常使用suspend-frame
,我喜欢的其他人建议取消绑定 C-z ,因为这会打开另一个方便的前缀。
当然,如果您为操作系统设置了Super和Hyper修改键,并且键盘,您可能会获得比您可以找到的更方便的序列。对于许多使用许多现代键盘上的附加修改键的人来说,这是一个非常合理的选择。
最后,key-chord库是一种非常流行的方式,可以通过使用一对(或未修改的)键一起键入或快速连续(或单键敲击两次)来创建新的方便且无冲突的绑定。这在我的经验中非常有效,尽管你显然必须非常小心避免可能自然发生的结合序列。
答案 1 :(得分:1)
我个人使用C-'作为我的个人键盘绑定地图的'领导键'。您可以像这样创建前缀并将键绑定到它:
(global-set-key (kbd "C-'") ctl-quote-map)
(define-key ctl-quote-map (kbd "C-p") 'stumpwm-move-window-up)
(define-key ctl-quote-map (kbd "C-n") 'stumpwm-move-window-down)
(define-key ctl-quote-map (kbd "C-f") 'stumpwm-move-window-right)
(define-key ctl-quote-map (kbd "C-b") 'stumpwm-move-window-left)
(define-key ctl-quote-map (kbd "r") 'stumpwm-interactive-resize-window)
Nobbody跨过一些模糊不清的东西,如果你使用左控制,它是一个平衡的双小指运动。 C-;也很好,这是我用于stumpwm转义键。
答案 2 :(得分:1)
有Emacs keybinding conventions,其中一些让我感到惊讶。
相关部分是C-c [a-zA-Z]
和<F[5-9]>
保留给最终用户。