emacs键绑定命令影响另一个

emacs键绑定命令影响另一个,emacs,Emacs,以前我使用C-SPC来激活/停用标记,现在我使用扩展区域包并将键绑定设置为C-@,如下所示: (全局设置键(kbd“C-”)er/扩展区域) 但这也影响了C-SPC键绑定,因此它也绑定到扩展区域 我需要的是C-@绑定到扩展区域和C-SPC绑定到旧的激活/停用标记,建议您参考: 及 引用后者的话: 脚注[1]ASCII中没有C-字符;通常,在文本终端上键入C-会得到字符C-@。此键也绑定到set mark命令,因此除非您不幸拥有一个行为不同的文本终端,否则您最好将C-@视为C- 我想你会发现它

以前我使用
C-SPC
激活/停用标记
,现在我使用
扩展区域
包并将键绑定设置为
C-@
,如下所示:

(全局设置键(kbd“C-”)er/扩展区域)

但这也影响了
C-SPC
键绑定,因此它也绑定到
扩展区域

我需要的是
C-@
绑定到
扩展区域
C-SPC
绑定到旧的
激活/停用标记
,建议您参考:

引用后者的话:

脚注[1]ASCII中没有C-字符;通常,在文本终端上键入C-会得到字符C-@。此键也绑定到set mark命令,因此除非您不幸拥有一个行为不同的文本终端,否则您最好将C-@视为C-
我想你会发现它们不是分开的钥匙;C-SPC发送与C-@相同的代码。我认为这意味着您必须找到其他地方来绑定其中一个函数(即使您必须覆盖扩展区域)

对于第二个答案,我深表歉意。。。我认为第一个是错误的,因为我现在能够为C-SPC和C-@分别定义,如下所述

这可以分别定义C-@和C-SPC:

(全局设置键[?\C-@]'行首) (全局设置键(kbd“C-SPC”)'行尾) 为了证明这一点,我从这里得出了答案: 在谷歌搜索“emacs控制空间”之后


(关于您的问题,“我应该将此扩展区域绑定到什么键?”,我通常使用C-h C-k并键入一些我认为不使用的键。然后查看默认情况下该键绑定的函数。如果它对我有用,我会尝试另一个键并继续查找。如果我觉得我永远不会使用默认定义,我会出于自己的目的重新定义它。)

对不起:当我运行
C-hk C-SPC
时,我得到了
C-@
的解释,就好像我按下了它一样<代码>C-x C-x工作正常。我认为第一个链接并不能解决我的问题,因为emacs在某种程度上认为
C-SPC
C-@
是一样的@koan911@koan911,堆栈溢出时不建议使用仅链接的答案。但是如果你编辑你的答案并添加你在评论中的引用,这可能是一个好答案。当我按下
Ctrl+2
Ctrl+Shift+2
时,它会发送
C-
,(请注意,
Shift
没有任何区别),但是当我想发送一个
C-#
并按
Ctrl+Shift+3
Ctrl+3
时,它会发送
M-[;6 s未定义
,发生了什么事,我如何发送一个
C-#
我应该将这个扩展区域绑定到哪个键?最后,为什么移位在这里无关紧要?@koan911你当然可以对
C-
C-SPC
进行单独绑定。问题是Emacs是否真的会收到序列
C-SPC
>。如果在GUI模式下运行,它将运行。如果在终端上运行,那么,正如您的另一个答案中包含的报价中所详细说明的,它很可能不会运行。