当我双击时abcd_efg
,emacs 会根据我单击的内容选择部分abcd
或efg
。我怎样才能选择整个字符串abcd_efg
?
答案1
要么做什么@jcubic建议或者只是双击_
字符在符号名称中。这就是我所做的。
这样,您可以执行以下操作之一:选择一个单词(例如,符号名称的一部分)或选择整个符号名称。是的,您必须更加注意单击的位置,但您可以获得更大的灵活性。
答案2
您可以调用(modify-syntax-entry ?_ "w")
将下划线定义为单词的一部分。
答案3
我用的是这个,我对谷歌帖子做了一些修改(https://groups.google.com/forum/#!topic/gnu.emacs.help/9UDFLLjBeKU)
(defun get-word-boundary ()
"Return the boundary of the current word.
The return value is of the form: (cons pos1 pos2).
"
(save-excursion
(let (p1 p2)
(progn
(skip-chars-backward "-A-Za-z0-9_.") ;; here you can choose which symbols to use
(setq p1 (point))
(skip-chars-forward "-A-Za-z0-9_.") ;; put the same here
(setq p2 (point)))
(cons p1 p2)
))
)
(defun select-word ()
"Mark the url under cursor."
(interactive)
; (require 'thingatpt)
(let (bds)
(setq bds (get-word-boundary))
(set-mark (car bds))
(goto-char (cdr bds))
)
)
(global-set-key [double-mouse-1] 'select-word)