假设我想使用鼠标选择一些文本(标记一个区域),但不进行拖动。我通常会这样做(在大多数应用程序中除外emacs
):
- 用鼠标左键单击(
down-mouse-1
); - 释放鼠标,将光标留在我想要选择开始的位置;
- 按住该shift键;
- 最后,
down-mouse-1
在我想要结束选择的文本位置再次单击 ( )。
但是,我无法使用 来执行此操作emacs
,因为在步骤 4 中会弹出一个上下文菜单 ( Change default buffer face
),而我的选择会丢失。
我尝试重新映射<S-down-mouse-1>
到其他几个命令,但没有成功。
有人知道如何完成这一壮举吗emacs
?
(我在12.04 和10.8(Cocoa Emacs)上使用emacs
24.2 ;我正在使用和。)Xubuntu
Mac Os X
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)
答案1
不确定为什么您还没有这个绑定,但这似乎已经解决了您的问题,正如您的评论所示:
(define-key global-map (kbd "<S-down-mouse-1>") 'mouse-save-then-kill)
答案2
设置洪水〜/.emacs对我有用(我在弹出上下文菜单而不是选定区域时遇到了同样的问题):
(全局设置键 (kbd "S-") #'鼠标设置标记)
答案3
您是否尝试过使用可可 emacs? 我相当确定您想要的行为是开箱即用的。