如何在Emacs 24中的python-mode(python.el)中启用自动缩进?

4

我最近宣布了对Emacs的破产,并在重新构建我的配置时,从旧版的python-mode.el切换到了内置的python.el

我想要的一个功能是当按下RET键时,自动缩进到正确的级别。有没有重新启用此功能的方法?

2个回答

4

在即将发布的Emacs 24.4中,由于electric-indent-mode的支持,自动缩进功能默认开启。由于Emacs 24.4已经进行了很长时间的功能冻结,所以几乎不会出现严重错误,您可以考虑立即升级使用。


1
确实,需要注意的是为了默认启用它,electric-indent-mode 已经得到了一些改进:24.3 版本与 python.el 不兼容,而 24.4 版本应该可以正常工作。 - Stefan

3

试试这个:

(add-hook 'python-mode-hook 'my-python-hook)

(defun my-python-hook ()
  (define-key python-mode-map (kbd "RET") 'newline-and-indent))

1
我将您的答案与lunaryorn的答案结合起来,写成了(add-hook 'python-mode-hook 'electric-indent-mode) - wsaleem
这个更改在我按<RET>时添加了缩进,但现在对于新的.py文件,它会使用几个制表符(5或6)进行缩进。我该如何将其设置为4个空格? - Usobi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接