スーパーpre記法は色が付いたりして便利なんだけど、割りとtypoをする。というわけでregionで囲んだ範囲をスーパーpre記法にするelisp。
(defun simple-hatena-insert-lang () (interactive) (let ((lang (read-string "Lang: "))) (if mark-active (let ((beg (region-beginning)) (end (region-end))) (save-excursion (goto-char end) (insert "\n||<") (goto-char (if (> (point) beg) ;;逆からmarkされた時がおかしくなる時の対策 beg (point) )) (insert (concat ">|" lang "|\n")))))))