![emacs 按键重新映射在 TeX 模式下失败](https://linux22.com/image/245915/emacs%20%E6%8C%89%E9%94%AE%E9%87%8D%E6%96%B0%E6%98%A0%E5%B0%84%E5%9C%A8%20TeX%20%E6%A8%A1%E5%BC%8F%E4%B8%8B%E5%A4%B1%E8%B4%A5.png)
我已经重新映射Ctrl-j到下一行但这(global-set-key "\C-j" 'next-line)
不起作用TeX 模式在哪里Ctrl-j“插入两个硬回车(段落的标准结尾)并检查段落的语法”。有解决方法吗?
答案1
这是因为tex-mode
重新定义C-j
和模式的键映射优先于全局键映射。如果您计划重新定义这样的常用键,那么我建议您创建一个minor-mode
包含您定义的键映射,然后它们将优先于主要模式的键映射。
您还可以做的另一件事是解除绑定键tex-mode
,但之后您必须对绑定的所有其他模式执行相同操作C-j
。您一定要看看这个问题关于如何全局覆盖密钥。
答案2
如果不加载 init 文件,是否可以重现该问题?emacs -q 或 emacs --no-init-file 应该可以在没有配置文件的情况下运行 emacs。重复您的操作以查看是否能解决问题。
这个问题有帮助吗?您可以按照此处的建议在本地模式下进行重新映射;您只需将其更改为您的函数和 tex 模式。
https://stackoverflow.com/questions/9082680/how-to-disable-cj-in-emacs-major-mode