count-up
(defun count-up (d) (interactive "P") (when (looking-at "[0-9.]") (let ((col (current-column)) (beg (progn (skip-chars-backward "[0-9.]") (point))) (end (progn (skip-chars-forward "[0-9.]") (point)))) (let ((num (delete-and-extract-region beg end))) (insert (format "%s" (+ (string-to-number num) (or d 1))))) (move-to-column col))))
こんなマクロが欲しいかもしれない。
「移動するアクション」->現在の位置を取得という動作が結構多い。
これを次のように書くのが面倒なので、
(progn ac ... (point))
(defmacro point* (&rest ac) `(progn ,@ac (point))) ;;(point* (skip-chars-forward "[0-9.]"))とか書ける