You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Emacs中彻底将`C-x`替换为`C-S-x`并设`C-x`为剪切的原生可靠方法

彻底修改Emacs的C-x绑定为剪切,原功能移至C-S-x

实现步骤

直接在你的Emacs配置文件(通常是~/.emacs或~/.emacs.d/init.el)中添加以下代码:

;; 自定义剪切函数:仅在选中文本时执行剪切,无选中则不操作
(defun my-cut-function ()
  (interactive)
  (when (region-active-p)
    (kill-region (region-beginning) (region-end))))

;; 将C-x绑定到自定义剪切函数
(global-set-key (kbd "C-x") 'my-cut-function)

;; 将原C-x的前缀命令集合绑定到C-S-x
(global-set-key (kbd "C-S-x") ctl-x-map)

代码说明

  • my-cut-function:通过region-active-p判断是否存在活跃选中区域,仅在有选中时调用kill-region执行剪切,无选中时不触发任何操作,避免误触原C-x的前缀功能。
  • global-set-key (kbd "C-x") 'my-cut-function:全局覆盖C-x的绑定,让它始终执行上述剪切逻辑。
  • global-set-key (kbd "C-S-x") ctl-x-map:将原本C-x对应的所有前缀命令(如C-x C-c、C-x C-f等)全部转移到C-S-x下,原功能完全保留,仅触发键改为Ctrl+Shift+X。

注意事项

  • 配置完成后重启Emacs即可生效,无需启用CUA模式。
  • 若部分特定模式存在局部按键绑定冲突,可针对该模式使用define-key单独调整对应keymap,上述全局配置已覆盖绝大多数场景。

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 19:49:57