« 【ubuntu】 Picasa3 on ubuntu 8.04 LTS | トップページ | 【VirtualBox】 Windows XP on VirtualBox on ubuntu with USB2.0 »

【Emacs】 White Spaceの削除

Emacsでプログラムを書いている身としては、この関数がないとやっていかれません。
特に、Visual Studioとか会社で使ってる統合開発環境とかは平気でWhite Space入れまくるので、見た目にも悪いし、ファイルサイズも大きくなるしで無駄この上ない。なんでもエコのこの時代やからこそ、こんな所にもこだわりたい(と、勝手にこじつけしてみる・・・

確か元ネタは 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節は不要ですな。

「エコと叫ぶのであればインデントにタブを使え」というお叱りが飛んで来そうですねぇ。でも、これだけは譲れない。ソースの美しさがエディタによって崩されるようなコーディングは嫌じゃぁ〜

« 【ubuntu】 Picasa3 on ubuntu 8.04 LTS | トップページ | 【VirtualBox】 Windows XP on VirtualBox on ubuntu with USB2.0 »

Emacs」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 【Emacs】 White Spaceの削除:

« 【ubuntu】 Picasa3 on ubuntu 8.04 LTS | トップページ | 【VirtualBox】 Windows XP on VirtualBox on ubuntu with USB2.0 »