Emacsでプログラムを書いている身としては、この関数がないとやっていかれません。
特に、Visual Studioとか会社で使ってる統合開発環境とかは平気でWhite Space入れまくるので、見た目にも悪いし、ファイルサイズも大きくなるしで無駄この上ない。なんでもエコのこの時代やからこそ、こんな所にもこだわりたい[E:sign01](と、勝手にこじつけしてみる・・・[E:catface])
確か元ネタは Meadow Memo やったと思いまする。元ネタの作者様に感謝しつつ、無断ですが転載させて頂きます。
.emacsに、下記関数を記述して ESC-x trim-buffer でバッファ内の全テキストについてtrim処理を行います。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; White spaceを削除する関数
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun trim-buffer ()
"Delete excess white space."
(interactive)
(save-excursion
(goto-char (point-min))
(while (re-search-forward "[ t]+$" nil t)
(replace-match "" nil nil))
(goto-char (point-max))
(delete-blank-lines)
(mark-whole-buffer)
(untabify (region-beginning) (region-end))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
やっている事は、空白とタブが行末まで続く場合にこれを削除するという動作です。
ちなみに、僕はインデントに空白を使う派なので、untabilfyも入れています。インデントのtabを消したくなければ、最後のuntabify節は不要ですな。
「エコと叫ぶのであればインデントにタブを使え」というお叱りが飛んで来そうですねぇ。でも、これだけは譲れない。ソースの美しさがエディタによって崩されるようなコーディングは嫌じゃぁ〜[E:punch]