Next: , Previous: , Up: Indentation   [Contents][Index]


24.3 タブ vs. スペース

インデントコマンドは通常、スペース文字とタブ文字を最適にミックスした文字列を挿入(または削除)することにより、望む列に行を揃えます。タブ文字は次のタブストップ表示(display tab stop)まで伸長された、空のスペースとして表示されます。デフォルトでは、tab-width列ごと(デフォルトは8)に、1つのタブストップ表示があります。Text Displayを参照してください。

もし望むなら、すべてのインデントをスペースだけで行うこともできます。これを要求するには、バッファーローカルな変数indent-tabs-modenilにセットします。バッファーローカルな変数についての情報は、Localsを参照してください。しかしC-q TABは、indent-tabs-modeの値とは無関係に、常にタブ文字を挿入することに注意してください。

indent-tabs-modenilにセットする1つの理由は、すべてのエディターがタブ文字を同じ方法で表示するわけではないという理由です。Emacsユーザーも同様で、彼らはカスタマイズされたtab-widthにより、異なる値をもつかもしれません。スペースだけを使うことにより、ファイルが常に同じように見えることを保証できます。Emacsでどのように見えるかだけに関心がある場合、この問題に取り組む他の方法は、ファイルローカルな変数tab-widthをセットする方法です(File Variablesを参照してください)。

空白以外の文字の列を常に保ちながら、スペースをタブに、またはその逆の変換を行うコマンドも存在します。M-x tabifyは、リージョンの連続するスペースをスキャンして、インデントを変更せずに、少なくとも2文字の連続するスペースをタブに変換します。M-x untabifyは、リージョンのすべてのタブを適正な数のスペースに変更します。