連続した数値を割り振る

gse-number-rect.elの使い方メモ。
とりあえず Emacs22 だと動かないので修正。Emacs21 とか XEmacs の場合は知らない。

--- gse-number-rect.el.orig     2006-07-22 15:49:04.984375000 -0400
+++ gse-number-rect.el  2006-10-12 20:48:12.875000000 -0400
@@ -87,7 +87,7 @@
     (region-beginning) ; start
     (region-end) ; end
     (if (functionp 'read-number)
-        (read-number "First number [1]: " t "1") ; start-at
+        (read-number "First number [1]: " 1) ; start-at
       (string-to-int (read-string "First number [1]: " nil nil "1"))) ; start-at
     (read-string "Suffix: " nil 'gse-number-rectangle-history) ; suffix-text
     current-prefix-arg)) ; prefix

で、load-path の通ったところにおいて、.emacs

(autoload 'gse-number-rectangle "gse-number-rect" nil t)

としておく。
で、使い方。

chapter.html
chapter.html
chapter.html
chapter.html
chapter.html

ってなっているところで"."の前を string-rectangle (C-x r t) を使うつもりで、矩形選択して、M-x gse-number-rectangle
すると、First number と suffix を聞かれるので、適当に入力すると、

chapter1.html
chapter2.html
chapter3.html
chapter4.html
chapter5.html

な感じになる。幅も指定したい場合は下記のように advice を引っ掛けておくとか。短いコードなので Emacs Lisp が分かる人はコピーして編集したほうがいいかも。

(autoload 'gse-number-rectangle "gse-number-rect" nil t)
(defadvice gse-number-rectangle
  (around gse-number-rectangle-with-width activate)
  (let ((gse-number-rectangle-min-width
         (read-number "min width [1]: " gse-number-rectangle-min-width)))
    ad-do-it))
(global-set-key "\C-xru" 'gse-number-rectangle)

wdired とかと組み合わせると便利かな。