【发布时间】:2010-01-20 14:40:27
【问题描述】:
我检查了我的 elisp 文件以确保我没有任何包含 Shift+R 的绑定(并且我没有找到任何绑定)。我希望 SHIFT+R 打印一个大写字符,但我在 Emacs 命令行中得到 R R undefined 。这仅在 C/C++ 主要模式下。
有什么建议吗?
更新:描述键表明它是未定义的。我将如何将其定义为正常的预期用途(大写字母 R)?
【问题讨论】:
标签: emacs elisp key-bindings
我检查了我的 elisp 文件以确保我没有任何包含 Shift+R 的绑定(并且我没有找到任何绑定)。我希望 SHIFT+R 打印一个大写字符,但我在 Emacs 命令行中得到 R R undefined 。这仅在 C/C++ 主要模式下。
有什么建议吗?
更新:描述键表明它是未定义的。我将如何将其定义为正常的预期用途(大写字母 R)?
【问题讨论】:
标签: emacs elisp key-bindings
我假设“预期用途”是指插入“R”字符。为此,您需要将密钥绑定到“self-insert-command”:
M-x global-set-key R self-insert-command
或者,在您的 .emacs 或 .emacs.d/init.el 文件中:
(global-set-key "R" 'self-insert-command)
当然,这应该是默认的......
【讨论】:
我在这里有点似曾相识,如果记忆符合我几年前遇到的行为是(在 Windows 上)某些可访问性设置未设置或更改了右 shift 键的键码。抱歉,我不能更具体,但也许这会刺激其他人想出真正的答案。您可以进行的测试:该行为是否适用于两个 shift 键或仅一个?如果答案只是一个显示不良行为,那么所有键都显示不良行为吗?
【讨论】:
尝试 C-h k(描述键),然后按 Shift-R。然后 describe-key 将告诉您绑定到该键的内容。至少这会给你一个关于是否存在活动绑定的提示。如果有绑定,也许它会提示您在启动文件中搜索其他内容。
【讨论】:
听起来你和我有同样的问题。当每一个 R-* 命令都未定义时,在任何 html 缓冲区中键入 Re... 都会尝试执行 R- 命令。原来我的 .emacs 文件中有错字。我将全局键映射设置为(kbd "REF") 而不是(kbd "RET"),修复它使问题立即消失。所以我建议在你的 .emacs 文件中检查任何类似的东西。
【讨论】: