シェルスクリプトの行末にスペースが入っていて二時間ぐらいはまってハゲるかと思ったのでメモ。改行を見える化することによりバグの原因となる行末のスペースを根絶します!
参考にしたのはこちら。ありがたやありがたや。
masutaka.net
以下を .emacs.el に追加。
(global-whitespace-mode 1) (require 'cl) ;; スペースの定義は全角スペースとする。 (setq whitespace-space-regexp "\x3000+") ;; 改行の色を変更 (set-face-foreground 'whitespace-newline "gray40") ;; 半角スペースと改行を除外 (dolist (d '((space-mark ?\ ) (newline-mark ?\n))) (setq whitespace-display-mappings (delete-if '(lambda (e) (and (eq (car d) (car e)) (eq (cadr d) (cadr e)))) whitespace-display-mappings))) ;; 全角スペースと改行を追加 (dolist (e '((space-mark ?\x3000 [?\□]) (newline-mark ?\n [?\xAB ?\n] [?$ ?\n]))) (add-to-list 'whitespace-display-mappings e)) ;; 強調したくない要素を削除 (dolist (d '(face lines space-before-tab indentation empty space-after-tab tab-mark)) (setq whitespace-style (delq d whitespace-style)))
ほとんど丸パクリそのままですが、表示する改行コードだけ「xAB」に変更しました。また、SKK を使用しているので全角スペースは基本入力できないのですが、間違えて IME を使って Emacs で漢字入力している時がたまにあるのでw、設定は生かしておきます。全角スペースとかスクリプト言語だと謎のエラー出るので、これも根絶します!
なんか警告表示されてるけど気にしたら負けだっ!w
これで行末スペースのせいでハゲる事はなさそうです。頭髪にやさしい設定になりました。
やったね!