Next: Selective Display, Previous: Displaying Boundaries, Up: Display [Contents][Index]
意識せずに不必要なスペースを行末に残してしまったり、バッファーの最後に空行を残してしまうことはよくあります。ほとんどの場合、そのような行末の空白文字(trailing whitespace)は何の影響も及ぼしませんが、厄介物になる場合もあります。
バッファーローカルな変数show-trailing-whitespaceをtにセットすることにより、行末の空白文字を可視化できます。これによりEmacsはフェイスtrailing-whitespaceで、行末の空白文字を表示します。
この機能は行末に空白文字を含む行の、行末にポイントがあるときは適用されません。厳密にいえば、これも“行末の空白文字”なのですが、それを特別に表示してしまうと、新しいテキストをタイプするとき面倒です。このような特別なケースでは、ポイントの位置に表示されるカーソルより、空白文字があることが自明だからです。
M-x
delete-trailing-whitespaceとタイプすると、すべての行末の空白文字を削除します。このコマンドは、バッファー内の各行の行末にあるすべての余分なスペースと、バッファーの最後にある空行を削除します。バッファー内の空行を削除しない場合は、変数delete-trailing-linesをnilに変更してください。リージョンがアクティブのときは、リージョン内の各行の行末の余分なスペースを削除します。
グラフィカルなディスプレーでは、Emacsはウィンドウの最後の使われていない行の左フリンジに小さなイメージを表示して、それを示すことができます。このイメージはバッファーのテキストが何も含まれていないスクリーン行に表示されるので、バッファーの最後にある空行は、このイメージが表示されないことで見分けることができます。この機能を有効にするにはバッファーローカルな変数indicate-empty-linesに非nil値をセットします。すべての新しいバッファーでこの機能を有効または無効にするには、この変数のデフォルト値をセットします(例
(setq-default indicate-empty-lines t))
Whitespaceモードはバッファーローカルなマイナーモードで、バッファー内にある多くの種類の空白文字を“視覚化”します。これは空白文字を特別なフェイスで描画するか、特別なグリフで表示することにより行われます。このモードを切り替えるには、M-x
whitespace-modeとタイプします。視覚化される空白文字の種類は、リスト変数whitespace-styleにより決定されます。以下はリストに指定できる要素の一部です(完全なリストは変数のドキュメントを参照してください)。
face特別なフェイスを使った視覚化をすべて有効にします。この要素には特別な意味があります。もしこれがリストに含まれていない場合、space-mark、tab-mark、newline-markを除く他の視覚化は効果がなくなります。
trailing行末の空白文字をハイライトします。
tabsタブ文字をハイライトします。
spacesスペースおよびnon-breaking space文字をハイライトします。
lines80列以上の行をハイライトします。列の上限を変更するには、変数whitespace-line-columnをカスタマイズします。
newline改行をハイライトします。
empty空行をハイライトします。
space-markスペースとnon-breaking文字を特別なグリフで描画します。
tab-markタブ文字を特別なグリフで描画します。
newline-mark改行文字を特別なグリフで描画します。