4

我只是尝试使用正则表达式搜索/突出显示缓冲区中的文本并复制它。我不想要整条线,只想要比赛。有任何想法吗?

我有大量包含标签“[12345][09876]”的文本行,我想用正则表达式复制所有标签。

例如

Lorem ipsum dolor sit amet, consectetuer adipiscing elit [12345][09876], 
sed diam nonummy [12345][123456] nibh euismod tincidunt ut laoreet dolore 
magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud [54321][09876] 
exerci tation ullamcorper suscipit lobortis nisl ut aliquip [23451][09656]
4

1 回答 1

6

是的,增量搜索不会移动点位置,因此 yank 不会复制匹配项。

最简单的解决方案可能如下。

定义一个复制搜索匹配的函数:

(defun copy-isearch-match ()
    (interactive)
    (copy-region-as-kill isearch-other-end (point)))

并将其添加到搜索模式地图

(define-key isearch-mode-map (kbd "M-w") 'copy-isearch-match)

然后M-x isearch-forward-regexp你可以按M-w复制比赛。

于 2012-10-12T18:04:10.053 回答