【Emacs】 White Spaceの削除

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]

Author: kan
初めてプログラムらしきものを作ったのは幼稚園の時。それから約40年経ち、現在はデジタル回路設計から信号処理、機械学習まで幅広い経験を活かしてシステムアーキテクトとして活動中。超並列処理、デジタル回路とソフトウェアのバランス設計が得意分野。 Linux/Mac/Windows使い。 C/C++を主要言語として、Unity、Qtなどのフレームワーク興味あり。UI/UXデザイン、STL拡張など。 音声処理、画像処理、技術コンサルは仕事でも請け負います。 一般ソフトウェア開発プロセス、医療機器ソフトウェア開発プロセス作成も進行中。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください