Emacs在换行符之后对python代码进行适当的缩进

Emacs在换行符之后对python代码进行适当的缩进,python,emacs,indentation,Python,Emacs,Indentation,我按enter键后,PyCharm将正确识别a==b后的行: if a == b: print "something" 但在emacs中,它会给我: if a == b: print something 我已经启用了python模式和ergoemacs。以前做过这件事的人能分享一下如何使用它吗 更新: *alt return似乎在做我想做的事情*按打印内容行中任意位置的“tab”键-它应该正确缩进。这适用于大多数模式 编辑 在其他没有严格缩进规则的模式中,如python,您可以突出显

我按enter键后,PyCharm将正确识别a==b后的行:

if a == b:
   print "something"
但在emacs中,它会给我:

if a == b:
print something 
我已经启用了python模式和ergoemacs。以前做过这件事的人能分享一下如何使用它吗

更新:
*alt return似乎在做我想做的事情*

打印内容
行中任意位置的“tab”键-它应该正确缩进。这适用于大多数模式

编辑
在其他没有严格缩进规则的模式中,如python,您可以突出显示所有内容,Ctrl+Meta+\将尝试格式化所有内容

打印内容
行的任意位置按“tab”键-它应该正确缩进。这适用于大多数模式

编辑
在其他没有严格缩进规则的模式中,如python,您可以突出显示所有内容,Ctrl+Meta+\将尝试格式化所有内容

C-j做换行和缩进,这可能就是您要找的


在python-mode.el中,RET默认绑定到
py换行和缩进。

C-j执行换行和缩进,这可能是您正在寻找的


在python-mode.el中,RET默认绑定到
py换行和缩进。

我猜您运行的是“错误的”python模式

您的发行版很可能提供了
python mode.el
,我个人觉得这有点笨拙

相反,试试看。只需下载文件,将其放入
~/.emacs.d/
并添加

(load "~/.emacs.d/python.el")
到您的
~/.emacs
文件

在进行此操作时,以下是一些关于空格和最大行长的良好设置:

(add-hook 'python-mode-hook '(lambda ()
 (setq whitespace-line-column 79)
 (setq whitespace-style '(face empty tabs lines-tail trailing))))

我猜您运行的python模式是“错误的”

您的发行版很可能提供了
python mode.el
,我个人觉得这有点笨拙

相反,试试看。只需下载文件,将其放入
~/.emacs.d/
并添加

(load "~/.emacs.d/python.el")
到您的
~/.emacs
文件

在进行此操作时,以下是一些关于空格和最大行长的良好设置:

(add-hook 'python-mode-hook '(lambda ()
 (setq whitespace-line-column 79)
 (setq whitespace-style '(face empty tabs lines-tail trailing))))

不幸的是,使用Emacs Lisp进行重构的成本很高,这就是为什么在python-mode.el中有些函数(速度很重要)确实是怪兽。尝试使用一些大文件构建索引,您将了解其中的原因。从24.3开始,python.el包含在Emacs中。Github存储库被放弃了。不幸的是,使用Emacs Lisp进行重构的成本很高,这就是为什么在python-mode.el中,一些速度很重要的函数确实是怪物。尝试使用一些大文件构建索引,您将了解其中的原因。从24.3开始,python.el包含在Emacs中。Github存储库已被放弃。在python中,Ctrl+Meta+\非常危险。Python缩进是有意义的,而且常常是模棱两可的。Ctrl+Meta+\(缩进区域)可以修改代码的逻辑。我真的很喜欢emacs的这种特殊功能,当我转到其他编辑器时,我真的很怀念它!在python中,Ctrl+Meta+\非常危险。Python缩进是有意义的,而且常常是模棱两可的。Ctrl+Meta+\(缩进区域)可以修改代码的逻辑。我真的很喜欢emacs的这种特殊功能,当我转到其他编辑器时,我真的很怀念它!