無駄な行末の空白を削除する(Emacs Advent Calendar jp:2010)

Emacs Advent Calendar jp: 2010 : ATND

『5分でさくっとかけるような tips でいいのです。そういう tips の方が意外と有用だったりするのですから。』

ということで、
しょうもないようで、でもこれがないとやってられん!っていうTips紹介します。


みなさんは、ちゃんとプログラム書くときにちゃんとインデントしてますか?
してますよね。
っていうかEmacsが勝手にインデントしてくれますもんね。


でも気にするべきは行頭だけではありません。
ええ、私は行末に無駄な空白が残るのが許せません。
「ハッカーと画家」にもそんな一節がありました。あの部分だけはひどく共感した覚えがあります。意外にそういう人多いんじゃないでしょうか。


行末の空白を削除するコマンド、あります。

M-x delete-trailing-whitespace


このコマンドを実行すると、カレントバッファ内の行末の空白を一気に削除してくれます。
ちなみにtrailという単語を気になって調べたのですが、「たなびく」って意味でした。


で、いちいちこのコマンドを打つのもめんどくさいので、before-save-hookしましょう。

(add-hook 'before-save-hook 'delete-trailing-whitespace)


これで保存時に勝手にやってくれますから、あなたのソースコードの行末に空白が残ることはありません。
精神衛生上大変よろしいです。


ただしデメリットがひとつあります。
Whitespaceのコードが書けません。くれぐれもご注意を。