使用Emacs进行Python缩进

时间:2013-09-22 05:36:27

标签: python emacs indentation

我有以下情况:

if 1 < 2:
    print("this line is part of the if statement")

print("this is NOT part of the if statement")

如果我使用indent-according-to-mode Emacs命令,它会将第二个print()缩进为if语句的一部分。像这样:

if 1 < 2:
    print("this line is part of the if statement")

    print("this is NOT part of the if statement")

根据我的判断,不应改变线的缩进。是否可以“修复”或自定义此行为?

2 个答案:

答案 0 :(得分:3)

我认为这是正确的行为。因为缩进在python中是语义的,所以emacs无法判断缩进应该是什么。

如果你致电indent-according-to-mode,emacs明智地将此解释为'请将此行缩进到我上方前一行的缩进级别',因此您获得的行为是正确的。 “关闭此功能”的方法是不调用该功能。

答案 1 :(得分:1)

IIUC可以像这样实施它:

如果一个语句后跟一个空行,前面有一行不打开一个块,则将缩进设置为块开头。

对于python-mode.el,欢迎提出您的功能请求:

https://bugs.launchpad.net/python-mode