Emacs:在CUA模式下禁用移位选择

时间:2010-12-15 17:40:46

标签: emacs cua-mode

我设法通过(set-variable 'shift-select-mode nil)禁用内置移位选择。我喜欢CUA模式的C-Ret - 列选择。但CUA会自动启用移位选择(但似乎不是通过变量shift-select-mode)。

  • 那么,是否有可能在CUA模式下禁用移位选择?
  • 或者:有没有办法专门使用CUA模式的列选择功能,即没有任何其他CUA事件?

3 个答案:

答案 0 :(得分:0)

这不是解决方案,但仅供参考......

我注意到cua-mode

的帮助中提到的这个变量
cua-highlight-region-shift-only is a variable defined in `cua-base.el'.

*If non-nil, only highlight region if marked with S-<move>.
When this is non-nil, CUA toggles `transient-mark-mode' on when the region
is marked using shifted movement keys, and off when the mark is cleared.
But when the mark was set using M-x cua-set-mark, Transient Mark mode
is not turned on.

cua-mode这样做:

(setq shift-select-mode nil)
(setq transient-mark-mode (and cua-mode
               (if cua-highlight-region-shift-only
                   (not cua--explicit-region-start)
                 t))))

答案 1 :(得分:0)

具体来说,要禁用cua-mode的班次选择,请在开启cua-mode之前将以下内容添加到初始文件(例如.emacs ):

(setq cua-enable-cua-keys nil)
(setq cua-highlight-region-shift-only t) ;; no transient mark mode
(setq cua-toggle-set-mark nil) ;; original set-mark behavior, i.e. no transient-mark-mode

...
(cua-mode)

最初回答https://superuser.com/a/77453/223457

答案 2 :(得分:0)

要仅从Cua启用矩形(列)编辑,您可以使用以下(来自emacs-fu

(setq cua-enable-cua-keys nil);;仅适用于矩形 (cua-mode t)