Tabs 用于python的emacs修复选项卡缩进

Tabs 用于python的emacs修复选项卡缩进,tabs,indentation,emacs24,python-mode,Tabs,Indentation,Emacs24,Python Mode,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中使用空格模式时,我看到tab不会缩进4个空格,而untabify会将选项

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中使用空格模式时,我看到tab不会缩进4个空格,而untabify会将选项卡固定为4个空格。如何使制表符用作四个空格

更新 通过将init.el config更改为:

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

如果要插入制表符,缩进制表符模式必须为“t”。如图所示,将其更改为钩子。 写

当将python.el与mode一起设置为nil时,它似乎有一个bug。当钩子在模式init之后运行时,它应该能够纠正这一点

如果没有,请尝试python-mode.el,它允许选择。
您还可以在每个缓冲区中显式设置缩进制表符模式,该模式由python.el设置为缓冲区本地模式。

如果要插入制表符,缩进制表符模式必须为“t”。如图所示,将其更改为钩子。 写

当将python.el与mode一起设置为nil时,它似乎有一个bug。当钩子在模式init之后运行时,它应该能够纠正这一点

如果没有,请尝试python-mode.el,它允许选择。
此外,您还可以在每个缓冲区中显式设置缩进选项卡模式,该模式由python.el使缓冲区成为本地模式。

虽然时间已经晚了,但下面的钩子对我很有用。 只有空间

(add-hook 'python-mode-hook
      (lambda ()
        (setq indent-tabs-mode nil)
        (setq python-indent 4)
        (setq tab-width 4))
      (untabify (point-min) (point-max)))
只有标签

 (add-hook 'python-mode-hook
          (lambda ()
            (setq indent-tabs-mode t)
            (setq python-indent 4)
            (setq tab-width 4))
          (tabify (point-min) (point-max)))

虽然已经很晚了,但跟随胡克对我来说很有效。 只有空间

(add-hook 'python-mode-hook
      (lambda ()
        (setq indent-tabs-mode nil)
        (setq python-indent 4)
        (setq tab-width 4))
      (untabify (point-min) (point-max)))
只有标签

 (add-hook 'python-mode-hook
          (lambda ()
            (setq indent-tabs-mode t)
            (setq python-indent 4)
            (setq tab-width 4))
          (tabify (point-min) (point-max)))