Emacsでは、特定の列番号をタブストップとして定義しています。これらは、テキストモードおよび関連モードにおいて空白を挿入する際のTAB(インデントを参照)や、M-iなどのコマンド(インデントコマンドを参照)による停止点として使用されます。変数tab-stop-listがこれらの位置を制御します。デフォルト値はnilであり、これは8列ごとにタブストップが配置されることを意味します。また、この値には、タブストップを配置する0始まりの列番号(昇順)のリストを指定することも可能です。Emacsは、最後の要素と最後から2番目の要素の差を繰り返すことで、このリストを無限に拡張します。
変数 tab-stop-list
を直接カスタマイズする代わりに、タブストップを確認・設定する便利な方法として、M-x
edit-tab-stops
コマンドがあります。これにより、タブストップ設定の説明が記載されたバッファに切り替わり、次のような表示になります。
: : : : : : 0 1 2 3 4 0123456789012345678901234567890123456789012345678 To install changes, type C-c C-c
1行目には、各タブストップにコロンが配置されています。続く2行の数値は、単にコロンの位置を示すためのものです。デフォルトのように tab-stop-list の値が nil
である場合、最初はコロンは表示されません。
このバッファを編集し、目的の列にコロンを配置することで、異なるタブストップを指定できます。このバッファでは上書きモードが使用されています(マイナーモードを参照)。Emacsは、最後に指定した2つの明示的なストップの間隔を繰り返すことで、タブストップのリストを無限に拡張することに注意してください。設定が完了したら、C-c C-c
と入力して新しいタブストップを適用します。通常、新しいタブストップの設定はすべてのバッファに適用されます。ただし、tab-stop-list 変数を M-x
edit-tab-stops を呼び出したバッファにローカルに設定している場合(ローカル変数を参照)、新しいタブストップの設定はそのバッファにのみ適用されます。今後のEmacsセッションでタブストップの設定を保存するには、Customizeインターフェースを使用して
tab-stop-list の値を保存してください(Easy Customizationインターフェースを参照)。
なお、本節で説明するタブストップは、バッファ内でタブ文字がどのように表示されるかとは無関係であることに注意してください。タブ文字は常に、次の表示タブストップまで広がる空白として表示されます。テキストの表示方法を参照してください。