有什么方法可以绑定C-[
到某个东西,而不会M-
弄乱所有(元)绑定吗?
这不是第一次出现这个问题。不幸的是,上一个线程中提供的唯一解决方案是a)特定于Linux,b)需要与Emacs无关的外部工具(同样是特定于Linux)。同样,我本可以在OS X上使用诸如Karabiner之类的东西C-[
在Emacs 掌握之前盗取序列,但这既笨重又昂贵。
鉴于这是Emacs的是坚持翻译C-[
来ESC
,C-i
来TAB
,可能别人我非常想打破这些关系,并获得宝贵的键序列回来。最近,我全力以赴地解决了这个问题,并指责了安静无辜的smartparens模式。
这里涉及到一个可能的解决方案,function-key-map
并key-translation-map
在这里进行了讨论,但可惜它要么不再起作用,要么首先就不起作用(或者我做错了什么)。我认为这是朝正确的方向发展。
@Drew一点也不明显的是,带有控制键的组合键必须映射到GUI应用程序中的ASCII控制代码(只有32个)。(或者,即使在xterm中,也很糟糕,在很多情况下,它都具有ModifyOtherKeys模式以发送唯一的转义序列,尽管我不确定具体如何)
—
Random832
@ Random832:您正确区分按键和字符是正确的。对于编辑者来说,将键序列
—
德鲁
C-[
(按键Ctrl
和hit [
)映射到C-[
控制字符(又称为ESC
字符)在逻辑上和直接性上是有些逻辑和直接的,但是不,这对设计编辑器的人不是必须的。是的,Emacs做到了。C-[
和ESC
是相同的字符,但是键Ctrl
+ [
和Esc
不需要映射到任何特定字符。
C-[
为ESC
”。两者是同一回事。同样,C-i
和TAB
是相同 ASCII控制代码的不同名称。