【发布时间】:2015-07-27 18:48:35
【问题描述】:
是否可以重新绑定数字。比如“5”就是“$”,“%”就是“5”?
evil-maps.el 中的数字是这样定义的。
(define-key evil-motion-state-map "1" 'digit-argument)
(define-key evil-motion-state-map "2" 'digit-argument)
...
我尝试了@ChillarAnand 的答案
(add-hook 'evil-mode-hook 'evil-mode-bindings)
(defun evil-mode-bindings ()
"Bind symbols to digits."
(define-key key-translation-map (kbd "%") "5")
(define-key key-translation-map (kbd "*") "8")
)
(define-key evil-normal-state-map "5" 'evil-beginning-of-line)
(define-key evil-normal-state-map "8" 'evil-end-of-line)
但是Shift-5 的行为仍然不像5,8 也是如此。
是否可以针对上述配置修复它?
@tarblet 解决方案也是如此。
我用作测试的是一个序列Shift-5,G。
【问题讨论】:
-
所以您希望
%映射到值为5 的digit-argument? -
是的,我想是的。当我按下
Shift-5时,编辑器的行为就像我在默认配置中按下5。 -
忘记添加到 sn-p。
-
我认为你的键绑定在这一步之后会被修改,你能运行
C-h k Shift-5和C-h k G并确保它们分别绑定到evil-beginning-of-line和evil-goto-line &optional COUNT吗? -
@user14416 我的解决方案似乎有什么问题?更新后的版本测试了吗(运动状态→正常状态)?
标签: emacs text-editor key-bindings evil-mode