web-dev-qa-db-ja.com

クエリ置換におけるEmacsの単純な算術

emacsで次のことを行うことは可能ですか。

クエリは、リージョン内のすべての数値を数値+ nに置き換えます。たとえば、次の場合です。

12 and 7 are Nice numbers

nを3とすると、次のように変換されます。

15 and 10 are Nice numbers
8
student

はい、可能です。_\&_を置換式で使用して、一致全体を表すことができます。同様に、_\#&_を使用して、一致全体を数値として表すことができます。

より具体的には:

M-x query-replace-regexp _\b[0-9]+\b_ RETURN \,(+ 3 \#&)

そして ドキュメント からの引用

LISP式を使用して、置換文字列の一部を計算できます。これを行うには、「\」に続けて置換文字列に式を記述します。置換するたびに、式の値が計算され、引用符なしでテキストに変換されます。

9
Oleg Pavliv