在cua-mode下,如果用C-S-c作前缀快捷键怎么办?

在cua-mode下,如果用C-S-c作前缀快捷键怎么办?

我发现每次都会把C-S-c当成了C-c,尽管我disable了cua下的C-c也没有用。

(setq cua-enable-cua-keys nil)

求高人指教下。

我看不懂什么意思,尽量把你的需求、尝试过的方法、得到的结果分开来说清楚,不要搅和在一块儿,同时用具体的例子和能运行的代码。

另外,不在 cus-mode 下就没问题么?

在官方文档中,有这么一句话:

因此,如果我有个快捷键是这样定义的:

(global-set-key (kbd "C-S-c C-S-c") 'mc/edit-lines)

他就会在Cua-mode下,把我输入的第一个C-S-c误认为是C-c,因此这个快捷键在Cua-mode下,怎么也输不进。。。

1 个赞

明白了,我的复现方法是,执行

(setq cua-enable-cua-keys nil)
(cua-mode)
(global-set-key (kbd "C-S-c C-S-c") #'emacs-version)

然后,在选中一个 Region 的情况下,按 C-S-c C-S-c 不能运行 emacs-version

我之前从没用过 cua-mode ,感觉就是它需要用 Shift 实现特殊的功能,占用了而已,假设你也非要用 C-S-c 的话,可以试试:

(define-key cua--region-keymap (kbd "C-S-c") nil)

但是或许你可以考虑不用 cua-mode,不喜欢它的按键设置,也许也就没必要用它。

为什么我加上这条语句后,我的elisp就有语法错误了?

这个问题得问你自己,你连出错信息都不给,别人怎么帮你找原因?其次,遇到问题请自己尝试解决,实在解决不了再问别人。提问时请把问题一次性说清楚,关于如何提问可以参考: