Emacs 列编辑 CUA 模式 - 是否可以用鼠标选择矩形区域?

Emacs 列编辑 CUA 模式 - 是否可以用鼠标选择矩形区域?

是否可以使用老鼠在 emacs 中?

此时,简单的“是”或“否”对我就会有帮助。

以下是更多详细信息:

emacs 中可以进行列编辑。启用 cua 模式后,编辑变得非常简单。

以下是我的参考资料:

但我也想知道我是否可以用老鼠。我想用鼠标完全选择列(就像 Scite 或 Geany 可以做到的那样)。在 emacs 中可以这样做吗?

编辑:新信息。CUA 模式文档说,

鼠标支持通过按住 Shift 键拖动鼠标来突出显示矩形。这个想法是,除了区域被视为矩形外,它的行为与普通鼠标拖动完全相同。

当我尝试按住 Shift 并使用鼠标时,只要我单击(甚至在我拖动之前),就会弹出一个对话框。我不会粘贴对话框的图像,而是输入对话框的内容:

  • 更改默认缓冲区面
  • 更改缓冲区字体...
  • 增加缓冲区文本大小
  • 减小缓冲区文本大小
  • 结果默认

我是 emacs 新手,所以我不认识这个对话框,我不知道为什么我的 Shift-单击操作会弹出它,而不是执行 cua-mode 文档所说的当我 Shift-单击/拖动时应该发生的操作(我认为)。我正在使用 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)

相关内容