我想选择与dot相关的整个单词。 Emacs中是否有任何功能可以做到这一点。
示例:
123.456.[7]89
光标位于“7”。
申请“??? function”。
选择区域“123.456.789”。
[123.456.789]
Emacs中有“??? function”吗?
答案 0 :(得分:4)
我使用expand-region
:
(require 'expand-region)
(global-set-key (kbd "C-=") 'er/expand-region)
所以我按C-=
一次,然后选择789
;我再次按它并选择123.456.789
。它适用于不同语言的字符串,行,语句。
主页:https://github.com/magnars/expand-region.el
使用ELPA(M-x list-packages
)安装它。
答案 1 :(得分:2)
这是一个解决方案:
(defun mark-whole-word ()
(interactive)
(let ((table (syntax-table)))
(modify-syntax-entry ?. "w" table)
(with-syntax-table table
(backward-word)
(set-mark (point))
(forward-word))))
这里的关键是修改语法。
因此,如果您将?.
替换为上面的?-
,则可以进行类似标记
123-456-789
。
答案 2 :(得分:1)
@ abo-abo的答案很好。
就像另一个数据点一样,您也可以使用命令thing-region
(来自库thing-cmds.el
- Thing-At-Point Commands)。它会提示您选择 THING 类型。只需接受默认的 THING 类型sexp
,即可获得您在此案例中提出的要求。