3

Предположим, я хочу выделить какой-либо текст (отметить область) с помощью мыши, но без перетаскивания. Что я обычно делаю (в большинстве приложений, кроме emacs):

  1. щелкните левой кнопкой мыши (down-mouse-1);
  2. отпустите мою мышь, чтобы оставить курсор там, где я хочу, чтобы выбор начинался;
  3. нажмите и удерживайте клавишу Shift ;
  4. и, наконец, нажмите (down-mouse-1) снова в том месте текста, где я хочу, чтобы выделение закончилось.

Однако я не могу сделать это с emacs , потому что на шаге 4 всплывает контекстное меню (Change default buffer face), и мой выбор теряется.

Я попытался переназначить <S-down-mouse-1> на несколько других команд, но безуспешно.

Кто-нибудь знает, как совершить этот подвиг в emacs?

(Я использую emacs 24.2 на Xubuntu 12.04, а также на Mac Os X 10.8 (Cocoa Emacs); я использую transient-mode и режим cua-mode .)


Обновить:

Я только что попробовал этот код, как предложено здесь, но также безуспешно.

  ;; shift + click select region
  (define-key global-map (kbd "<S-down-mouse-1>") 'ignore) ; turn off font dialog
  (define-key global-map (kbd "<S-mouse-1>") 'mouse-set-point)
  (put 'mouse-set-point 'CUA 'move)

2 ответа2

4

Не уверен, почему у вас уже нет этой привязки, но это, похоже, решило вашу проблему, согласно вашему комментарию:

(define-key global-map (kbd "<S-down-mouse-1>") 'mouse-save-then-kill)
0

Вы пробовали использовать Emacs Какао? Я вполне уверен, что поведение, которое вы хотите, работает из коробки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .