如何选择Emacs上与dot连接的字符串

时间:2014-01-03 13:35:57

标签: select emacs cursor word expand

我想选择与dot相关的整个单词。 Emacs中是否有任何功能可以做到这一点。

示例:

123.456.[7]89
  1. 光标位于“7”。

  2. 申请“??? function”。

  3. 选择区域“123.456.789”。

    [123.456.789]

  4. Emacs中有“??? function”吗?

3 个答案:

答案 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)安装它。

ps:http://wikemacs.org/index.php/Elpa

答案 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,即可获得您在此案例中提出的要求。