言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

はてな の為に emacs で改行をつけたりはずしたりするマクロ。再び。

id:propella:20040307#p3 ではてな用の emacs マクロを使ったときに、物理行モードの方が使いやすいとか色々ご意見を頂いたのですが、一番しっくり来るのでこの小さなマクロを使ってました。でも最近英語(単語の区切りにスペースが入る言語)にうまく対応しないという事がわかったので作り直してみました。やってることはカラム数を指定して M-q するのと同じですが、僕にとってはこのわずかな工夫が思考の流れにぴったりして便利です。

(global-set-key "\C-ch" 'toggle-hatena)
(defun toggle-hatena ()
  (interactive)
  (save-excursion
    (mark-paragraph)
    (let* ( (para (buffer-substring-no-properties (1+ (point)) (1- (mark))))
            (para-list (split-string para "\n")))
      (if (> (length para-list) 1)
          (let ( (tmp-fill-column fill-column))
            (set-fill-column 9999)
            (fill-paragraph t)
            (set-fill-column tmp-fill-column))
        (fill-paragraph t)))))