GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Useless-Whitespace.html ・ emacs-doc.conao3.com

16.17 不要な空白

行末に不要なスペースを残したり、バッファの末尾に空行を残したりすることは、気づかないうちに起こりがちです。ほとんどの場合、この末尾の空白は影響を及ぼしませんが、時には厄介なこともあります。

バッファローカル変数 show-trailing-whitespace を t に設定することで、行末の末尾空白を表示させることができます。すると、Emacs はフェイス trailing-whitespace を用いて末尾空白を表示します。

ポイントが空白を含む行の末尾にある場合、この機能は適用されません。厳密に言えば、それでも末尾の空白ではありますが、その場合に特別に表示すると、新しいテキストを入力している際に見栄えが悪くなります。この特殊なケースでは、ポイントの位置だけで空白が存在することが分かります。

M-x delete-trailing-whitespace と入力すると、末尾の空白をすべて削除できます。このコマンドは、バッファ内の各行の末尾にある余分なスペースと、バッファ末尾の空行をすべて削除します。後者を無視するには、変数 delete-trailing-lines を nil に変更してください。リージョンがアクティブな場合は、代わりにリージョン内の各行の末尾にある余分なスペースを削除します。バッファローカルモード delete-trailing-whitespace-mode を有効にすると、バッファを保存するたびに Emacs が自動的に delete-trailing-whitespace を実行します。

グラフィカルディスプレイでは、Emacsはウィンドウ末尾の未使用行を、左フリンジにある小さな画像で示すことができます(ウィンドウフリンジを参照)。この画像は、いずれのバッファテキストにも対応しないスクリーン行に表示されるため、バッファ末尾の空行にはこの画像が表示されず、際立って見えます。この機能を有効にするには、バッファローカル変数 indicate-empty-lines に nil 以外の値を設定してください。この変数のデフォルト値(例:(setq-default indicate-empty-lines t))を設定することで、すべての新規バッファに対してこの機能を有効または無効にできます。

Whitespaceモードは、特殊なフェイスで空白文字を描画したり、特殊なグリフとして表示したりすることで、バッファ内のさまざまな種類の空白を可視化できるバッファローカルなマイナーモードです。このモードを切り替えるには、M-x whitespace-modeと入力してください。可視化される空白の種類は、リスト変数whitespace-styleによって決定されます。このリストの個々の要素は、M-x whitespace-toggle-optionsと入力することで、現在のバッファ内で有効・無効を切り替えることができます。以下に、設定可能な要素の一部を挙げます(全リストについては、当該変数のドキュメントを参照してください):

face

特殊なフェイスを使用するすべての可視化を有効にします。この要素には特別な意味があり、リストに含まれていない場合、space-mark、tab-mark、newline-mark以外の可視化は一切適用されません。

trailing

末尾の空白を強調表示する。

tabs

タブ文字を強調表示する。

spaces

スペースとノーブレークスペースの文字を強調表示してください。

lines

80列を超える行を強調表示します。列数の制限を変更するには、変数 whitespace-line-column を設定してください。

newline

改行を強調表示する。

missing-newline-at-eof

バッファが改行文字で終わっていない場合は、最後の文字をハイライトしてください。

empty

バッファの先頭および/または末尾にある空行を強調表示する。

big-indent

深すぎるインデントをハイライトします。デフォルトでは、タブ文字が4文字以上、またはスペース文字が32文字以上連続して並ぶ箇所がハイライトされます。これを変更するには、正規表現 whitespace-big-indent-regexp をカスタマイズしてください。

space-mark

特殊なグリフでスペースと改行不可文字を描画する。

tab-mark

タブ文字を特殊なグリフで描画する。

newline-mark

改行文字を特殊なグリフで描画する。

Global Whitespaceモードは、すべてのバッファで空白を可視化できるグローバルマイナーモードです。個別の機能を切り替えるには、M-x global-whitespace-toggle-optionsを使用してください。