按住 Shift 键单击以扩展标记区域

按住 Shift 键单击以扩展标记区域

假设我想使用鼠标选择一些文本(标记一个区域),但不进行拖动。我通常会这样做(在大多数应用程序中除外emacs):

  1. 用鼠标左键单击(down-mouse-1);
  2. 释放鼠标,将光标留在我想要选择开始的位置;
  3. 按住该shift键;
  4. 最后,down-mouse-1在我想要结束选择的文本位置再次单击 ( )。

但是,我无法使用 来执行此操作emacs,因为在步骤 4 中会弹出一个上下文菜单 ( Change default buffer face),而我的选择会丢失。

我尝试重新映射<S-down-mouse-1>到其他几个命令,但没有成功。

有人知道如何完成这一壮举吗emacs

(我在12.04 和10.8(Cocoa Emacs)上使用emacs24.2 ;我正在使用和。)XubuntuMac Os Xtransient-modecua-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)

答案1

不确定为什么您还没有这个绑定,但这似乎已经解决了您的问题,正如您的评论所示:

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

答案2

设置洪水〜/.emacs对我有用(我在弹出上下文菜单而不是选定区域时遇到了同样的问题):

(全局设置键 (kbd "S-") #'鼠标设置标记)

答案3

您是否尝试过使用可可 emacs? 我相当确定您想要的行为是开箱即用的。

相关内容