在 emacs 上取消设置常规密钥
unsetting regular key on emacs
这有点尴尬,但最近我碰巧每周或每两周使用 global-set-key
动态绑定常规键。
例如
我今天将 q
键绑定到 quoted-insert
和 toggle-read-only
(不是故意的)
我试过 global-unset-key
,但现在按 q
键会给我 q is undefined
消息(什么都不写)。
因为这不是我最近第一次发生这种情况,而且我讨厌每次发生这种情况时都丢失在我的 emacs 中打开的所有缓冲区,所以我正在寻找一种方法来取消设置字符键而不失去写入的能力此 char OR 将 char 重新绑定到自身(global-set-key
不允许)。尝试绑定到 insert-char 71
也失败了
(global-set-key (kbd "q") #'self-insert-command)
这是所有字母数字键的默认绑定(当然可以在某些主要或次要模式下覆盖)。
据我所知,没有办法将密钥重置为默认值。如果你想以一种可逆的方式使用键绑定,最好的办法可能是制作你自己的次要模式并且只将键绑定到它(参见 http://shallowsky.com/blog/linux/editors/emacs-global-key-bindings.html)。然后您可以轻松关闭模式,或取消定义其映射中的键,以获得全局绑定。
最后,我使用 save-visited-files
(在 melpa 中)来记住(大部分)我的缓冲区。还有更完整的解决方案,例如 desktop
来保存和恢复状态。
这有点尴尬,但最近我碰巧每周或每两周使用 global-set-key
动态绑定常规键。
例如
我今天将 q
键绑定到 quoted-insert
和 toggle-read-only
(不是故意的)
我试过 global-unset-key
,但现在按 q
键会给我 q is undefined
消息(什么都不写)。
因为这不是我最近第一次发生这种情况,而且我讨厌每次发生这种情况时都丢失在我的 emacs 中打开的所有缓冲区,所以我正在寻找一种方法来取消设置字符键而不失去写入的能力此 char OR 将 char 重新绑定到自身(global-set-key
不允许)。尝试绑定到 insert-char 71
也失败了
(global-set-key (kbd "q") #'self-insert-command)
这是所有字母数字键的默认绑定(当然可以在某些主要或次要模式下覆盖)。
据我所知,没有办法将密钥重置为默认值。如果你想以一种可逆的方式使用键绑定,最好的办法可能是制作你自己的次要模式并且只将键绑定到它(参见 http://shallowsky.com/blog/linux/editors/emacs-global-key-bindings.html)。然后您可以轻松关闭模式,或取消定义其映射中的键,以获得全局绑定。
最后,我使用 save-visited-files
(在 melpa 中)来记住(大部分)我的缓冲区。还有更完整的解决方案,例如 desktop
来保存和恢复状态。