emacs でコメントを簡単に入れる

[戻る]

emacs で何か編集していると, こっからここまではコメントにしたい/コメントを はずしたいということが多々あります. 95 年頃作った elisp ですが長年愛用しています.

(defun cite ()
  "cite region "
  (interactive)
  (narrow-to-region (region-beginning) (region-end))
  (beginning-of-buffer)
  (setq default "# ")
  (setq chs (read-string
             (concat "Citation string: (defalut \"" default "\"):")))
  (if (string= chs "")
      (setq chs default))
  (replace-regexp "^" chs )
  (exchange-point-and-mark)
  (widen)
  )

(defun uncite ()
  "uncite region "
  (interactive)
  (narrow-to-region (region-beginning) (region-end))
  (beginning-of-buffer)
  (setq default "# ")
  (setq chs (read-string
             (concat "Uncitation string: (defalut \"" default "\"):")))
  (if (string= chs "")
      (setq chs default))
  (replace-regexp (concat "^" chs) "" )
  (exchange-point-and-mark)
  (widen)
  )

使い方は, ソース中コメントにしたい部分の先頭をマークした後, コメントにしたい部分の最後にカーソルを移動し (逆でも可),

M-x cite

と命令します. どういう文字列でコメントするか聞かれますので (デフォルトは "# ") それに答えるとリージョン内の行頭にそれが入ります.

逆にコメントをはずすときは

M-x uncite

と打ちます.