![按住 Shift 键单击以扩展标记区域](https://linux22.com/image/1343430/%E6%8C%89%E4%BD%8F%20Shift%20%E9%94%AE%E5%8D%95%E5%87%BB%E4%BB%A5%E6%89%A9%E5%B1%95%E6%A0%87%E8%AE%B0%E5%8C%BA%E5%9F%9F.png)
假设我想使用鼠标选择一些文本(标记一个区域),但不进行拖动。我通常会这样做(在大多数应用程序中除外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? 我相当确定您想要的行为是开箱即用的。