インデントコマンドは通常、最小になるような一連のタブ文字とスペースを挿入(または削除)することにより、望む列に行を揃えます。タブ文字は次のタブストップ表示(display
tab
stop)まで伸長された、空のスペースとして表示されます。デフォルトでは、tab-width
列ごと(デフォルトは8)に、1つのタブストップ表示があります。テキストが表示される方法を参照してください。
もし望むなら、すべてのインデントをスペースだけで行うこともできます。これを要求するには、バッファーローカルな変数indent-tabs-mode
をnil
にセットします。バッファーローカルな変数についての情報は、ローカル変数を参照してください。しかしC-q
TABは、indent-tabs-mode
の値とは無関係に、常にタブ文字を挿入することに注意してください。
indent-tabs-mode
をnil
にセットする1つの理由は、すべてのエディターがタブ文字を同じ方法で表示するわけではないという理由です。Emacsユーザーも同様で、彼らはカスタマイズされたtab-width
により、異なる値をもつかもしれません。スペースだけを使うことにより、ファイルが常に同じように見えることを保証できます。Emacsでどのように見えるかだけに関心がある場合、この問題に取り組む他の方法は、ファイルローカルな変数tab-width
をセットする方法です(ファイル内のローカル変数を参照してください)。
空白以外の文字の列を常に保ちながら、スペースをタブに、またはその逆の変換を行うコマンドも存在します。M-x tabifyは、リージョンの連続するスペースをスキャンして、インデントを変更せずに、少なくとも2文字の連続するスペースをタブに変換します。M-x untabifyは、リージョンのすべてのタブを適正な数のスペースに変更します。