(defun add-number-and-fullwidth-space-to-lines (start end &optional start-number) "リージョン内の各行の行頭に連番(半角)+全角スペースを追加する。 START-NUMBER を省略すると 1 から開始。" (interactive "r\nP") (let ((line-number (or (and start-number (prefix-numeric-value start-number)) 1))) (save-excursion (goto-char start) (while (< (point) end) (beginning-of-line) (insert (format "%d " line-number)) ;; 半角数字+全角スペース (setq end (+ end (length (format "%d " line-number)))) (setq line-number (1+ line-number)) (forward-line 1))))) ;; Ctrl + c r にバインド (global-set-key (kbd "C-c r") 'add-number-and-fullwidth-space-to-lines)
prefix-numeric-value
この関数は、 raw プレフィックスアーギュメント arg の示す数値を返します。 raw プレフィックスアーギュメントは、シンボルもしくは数値もしくはリストで す。 nil の場合 1 を返します。 nil 以外のシンボルの場合、-1 を返します。数 値の場合、その数値を返し、リストの場合、そのリストの car (これは数字でなく てはいけません) を返します。