emacs ですべての言語のインデントに実際のタブを使用し、タブの幅を約 4 スペースにしたい (ただし、vim のように実際のタブにする)。私は .emacs で試します:
(setq tab-width 4)
(setq-default indent-tabs-mode t)
何も起こりません: emacs は、C/C++ では 2 つのスペースでインデントし続け、Python では長さ 8 のタブ オブジェクトをインデントします!
emacs ですべての言語のインデントに実際のタブを使用し、タブの幅を約 4 スペースにしたい (ただし、vim のように実際のタブにする)。私は .emacs で試します:
(setq tab-width 4)
(setq-default indent-tabs-mode t)
何も起こりません: emacs は、C/C++ では 2 つのスペースでインデントし続け、Python では長さ 8 のタブ オブジェクトをインデントします!
c-mode
インデントを含む、Emacs のデフォルトの動作のかなりの部分をオーバーライドします。詳しくはhttp://www.gnu.org/software/emacs/manual/html_mono/ccmode.html#Indentation-Engine-Basicsをご覧ください。これはおそらく、インデントの利点をすべて失うように設定c-syntactic-indentation
したいことを意味します(これにより、他の Emacs 設定に関係なく、任意の数のスペースを挿入できます)。nil
c-mode
おそらく、あなたの他のアプローチは、あなたc-mode
が望むように振る舞うために具体的にいじくり回すことかもしれません. その場合、http://www.emacswiki.org/emacs/IndentingC#toc3が役立ちます。
PS。私はほとんど C で書いていないので、デフォルトの動作なしでどれだけ良い/悪いかわかりません。タブではなく常にスペースを使用することに満足しています。
の値は、tab-width
プログラミング言語モードがコードをインデントするために使用する列の量を変更しません。この値は、1つのタブに変換するのに必要なスペース文字の数と、タブ文字を表示する方法を示しています。
列のインデントオフセットは言語ごとに設定されます。たとえば、Cの場合はc-basic-offset
4に設定します。Pythonの場合は。を設定しpython-indent-offset
ます。ただし、デフォルトではすでに4になっています。
それとは別に、に置き換えたいと思うかもしれませ(setq tab-width 4)
ん(setq-default tab-width 4)
。これもバッファローカル変数です。