如何使Emacs Python模式为缩进生成TAB?

Aar*_*ers 12 python emacs

我正在与一群使用vim的Python程序员合作,他们使用TAB进行缩进.我使用带有python-mode的Emacs,它将tab键转换为4个空格(就像它应该,但没关系).由于我不想造成麻烦,我想在我的.emacs文件(或其他)中添加一些内容,以使用真正的TABS进行缩进,而不是将它们转换为空格.怎么样?

如果在其他地方得到回答,我很抱歉:我没找到.

jam*_*san 11

您可以在~/.emacswith中定义特定于Python的设置python-mode-hook.要使用制表符进行缩进,您可以使用:

(add-hook 'python-mode-hook
  (lambda () (setq indent-tabs-mode t)))
Run Code Online (Sandbox Code Playgroud)

由于python.el缩进只有4列,默认情况下,当缩进是8的倍数并且制表符后跟其他缩进的空格时,上面将使用制表符.

如果您需要为每个缩进级别使用单个选项卡,则还需要设置python-indent为8.然后,您可以设置tab-width为要显示的选项卡所显示的宽度.

(add-hook 'python-mode-hook
  (lambda ()
    (setq indent-tabs-mode t)
    (setq python-indent 8)
    (setq tab-width 4)))
Run Code Online (Sandbox Code Playgroud)