2

Python モードでの Emacs タブのインデントは、4 つのスペースの代わりにタブを使用しています。

私のemacs init.elファイルには以下が含まれています:

(setq-default indent-tabs-mode t)
(setq-default tab-width 4)
(setq indent-line-function 'insert-tab)

私が試してみました:

(setq-default indent-tabs-mode nil)

しかし、それは何の違いもありませんでした。emacs でモードを使用すると、タブが 4 つwhite-spaceの空白をインデントせずuntabify、タブを 4 つの空白に固定することがわかります。TAB を 4 つの空白として機能させるにはどうすればよいですか?

UPDATE は、init.el 構成を次のように変更することで修正されました。

(add-hook 'python-mode-hook
      (lambda ()
        (setq-default indent-tabs-mode nil)
        (setq-default tab-width 4)
        (setq-default python-indent 4)))
4

2 に答える 2

2

TAB を挿入したい場合、indent-tabs-mode は `t' でなければなりません。示されているフックでそれを変更します。書く

(setq indent-tabs-mode t)

モードと一緒にnilに設定すると、python.elにバグがあるようです。モードの初期化後にフックが実行されるため、それを修正できるはずです。

そうでない場合は、選択できる python-mode.el を試してください。また、python.el によってバッファー ローカルに設定されている indent-tabs-mode を、すべてのバッファーで明示的に設定することもできます。

于 2014-03-07T07:30:46.660 に答える