Emacsで編集中に、数値を操作したい時があります。それは、少し複雑な計算を通して変換したいということがあります。そこで、elispで変換して置き換えることを試してみました。
例えば、選択したregionの数値を2倍して置き換える場合は次のようなelispで出来ます:
(defun doubling (beg end) (interactive "r") (let ( (doubled (* 2 (string-to-number (buffer-substring beg end))))) (delete-region beg end) (insert (format "%.1f" doubled ))))
さらに複雑な計算をするには、(doubled (* 2 (….))) の中を変更すればよいです。