Emacs: отключить выбор сдвига в режиме CUA

Мне удалось отключить встроенный сдвиг-выбор через (set-variable 'shift-select-mode nil). И мне нравится выбор столбца C-Ret в режиме CUA. Но CUA автоматически включает выбор сдвига (но, по-видимому, не через переменную shift-select-mode).

  • Итак, есть ли возможность отключить выбор сдвига в CUA-режиме?
  • Или: есть ли способ использовать функцию выбора столбца исключительно в режиме CUA, то есть без каких-либо других CUA-вещей?

person phimuemue    schedule 15.12.2010    source источник


Ответы (3)


Это не решение, но к вашему сведению...

Я заметил, что эта переменная упоминается в справке для 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))))
person phils    schedule 15.12.2010

В частности, чтобы отключить выбор сдвига для cua-mode, добавьте следующее в файл инициализации (например, .emacs) перед включением cua-mode:

(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

person mattc    schedule 10.05.2013

Чтобы разрешить редактирование только прямоугольников (столбцов) из Cua, вы можете использовать следующее (из emacs-фу)

(setq cua-enable-cua-keys ноль) ;; только для прямоугольников (режим cua t)

person Jonathan Leech-Pepin    schedule 10.05.2013