Редактирование колонок Emacs в режиме CUA - возможно ли выделить прямоугольную область мышью?

Можно ли выбрать область столбца (прямоугольник) с помощью мыши в emacs?

Простое "да" или "нет" будет полезно для меня на данном этапе.

Вот больше деталей:

Редактирование столбцов возможно в emacs. И это очень легко с включенным режимом cua.

Вот мои ссылки для этого:

Но мне также интересно, смогу ли я сделать это с помощью мыши. Я хочу выделять столбцы с помощью мыши (как это может сделать Scite или Geany). Это возможно в Emacs?

Изменить: Новая информация. Документация в режиме CUA гласит:

есть поддержка мыши для выделения прямоугольников, перетаскивая мышь, удерживая нажатой клавишу Shift. Идея заключается в том, что это ведет себя точно так же, как при обычном перетаскивании мышью, за исключением того, что область рассматривается как прямоугольник.

Когда я пытаюсь удерживать клавишу Shift и использовать мышь, как только я щелкаю (до того, как я могу даже перетащить), я получаю всплывающее диалоговое окно. Вместо того, чтобы вставлять изображение диалога, я напишу, что говорит диалог:

  • Изменить лицо буфера по умолчанию
  • Изменить шрифт буфера...
  • Увеличить размер буфера
  • Уменьшить размер буфера
  • Результат по умолчанию

Я новичок в emacs, поэтому я не распознаю этот диалог, и я не знаю, почему мое действие shift-click вызывает его, вместо того, чтобы делать то, что (я думаю) в документах cua-mode должно произойти, когда я щелчок / перетаскивание. Я использую Kubuntu 12.04 и emacs v24.

1 ответ

Решение

Попробуй это:

(require 'cua-rect)
(defun hkb-mouse-mark-cua-rectangle (event)
  (interactive "e")
  (if (not cua--rectangle)
  (cua-mouse-set-rectangle-mark event)
(cua-mouse-resize-rectangle event)))

(require 'cua-base)
(global-unset-key (kbd "<S-down-mouse-1>"))
(global-set-key (kbd "<S-mouse-1>") 'hkb-mouse-mark-cua-rectangle)
(define-key cua--rectangle-keymap (kbd "<S-mouse-1>") 'hkb-mouse-mark-cua-rectangle)
Другие вопросы по тегам