Emacs 如何删除密钥绑定,使cua C-x密钥绑定具有C-x的原始效果?

Emacs 如何删除密钥绑定,使cua C-x密钥绑定具有C-x的原始效果?,emacs,key-bindings,cua,Emacs,Key Bindings,Cua,在cua模式下,我希望C-x的行为就像cua模式未激活一样。我喜欢cua C-C、C-v和C-z。但是,我逐渐习惯了eMacs对C-x的使用,我希望C-x保持原样,无论有无选择 (定义键cua——前缀repeat keymap(kbd“C-x”)nil) 成功地将值修改为nil,但是cua仍然奇怪地影响C-x的功能,如果它有任何作用的话 我想要一种完全删除keybinding的方法,因为在这种情况下,将值设置为nil不会导致忽略绑定 对于好奇的人。。。我更喜欢delete使删除的范围进入yan

在cua模式下,我希望C-x的行为就像cua模式未激活一样。我喜欢cua C-C、C-v和C-z。但是,我逐渐习惯了eMacs对C-x的使用,我希望C-x保持原样,无论有无选择

(定义键cua——前缀repeat keymap(kbd“C-x”)nil)
成功地将值修改为nil,但是cua仍然奇怪地影响C-x的功能,如果它有任何作用的话

我想要一种完全删除keybinding的方法,因为在这种情况下,将值设置为nil不会导致忽略绑定

对于好奇的人。。。我更喜欢delete使删除的范围进入yank堆栈(就像cua C-x那样)。我通过以下几点实现了这一目标:

(bind-keys ([delete] . (lambda ()
      "Kill active region to the yank stack.
Otherwise, perform normal delete.
Use backspace for an emacs range delete into register 0."
       (interactive)
       (if (use-region-p)
           (delete-active-region t) ;; yank selection into stack
         (delete-char 1))))) ;; forget singly removed characters
通过堆栈交换,我提取了elisp,它成功地删除了密钥绑定

(取消取消移除键(键映射键)
(定义键映射键nil)
(setq键(cl mapcan)(λ(k)
(如果(和)(k)
(/=(logand k?\M-\^@)0)
(列表?\e(-k?\M-\^@))
(表k)
钥匙)
(如果(=(长度键)1)
(删除键映射)
(let*((前缀(vconcat(butlast key)))
(子映射(查找键键映射前缀)))
(删除(最后一个键)子映射)
(当(=(长度子贴图)1)
(删除键映射前缀(()()))
使用
移除键
,成功消除所有cua对C-x的反应:

(删除键cua——前缀重复键映射(kbd“C-x”))
你在乎C-C、C-v和C-z吗

如果没有,那么您只需要使用
cua选择模式
,而不是
cua模式