【发布时间】:2017-04-23 18:02:01
【问题描述】:
我在 MacBook Pro (macOS Sierra) 上使用 GNU Emacs,在 init.el 中我将 Cmd-ijkl 键绑定到 emacs 移动命令:
(global-set-key (kbd "s-j") 'backward-char)
(global-set-key (kbd "s-l") 'forward-char)
(global-set-key (kbd "s-i") 'previous-line)
(global-set-key (kbd "s-k") 'next-line)
当我在按住 shift 键的同时使用这些绑定时,它们会根据需要扩展和收缩区域。我最近决定绑定 Cmd-h 和 Cmd-;分别移动到行首和行尾。
(global-set-key (kbd "s-h") 'move-beginning-of-line)
(global-set-key (kbd "s-;") 'move-end-of-line)
我还取消了 Cmd-: 的现有绑定,因此它不会与使用 Shift-Cmd- 冲突;选择到行尾。
(global-unset-key (kbd "s-:"))
不幸的是,这还不够。虽然 Shift-Cmd-h 确实选择到行首,但 Shift-Cmd-;给出错误s-: is undefined。我该怎么做才能获得所需的行为?
【问题讨论】:
标签: emacs key-bindings motionevent