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

はい、インクリメンタル検索はポイント位置を移動しないため、ヤンクを実行しても一致はコピーされません。

最も簡単な解決策は、おそらく次のとおりです。

検索一致をコピーする関数を定義します。

(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 に答える