防止emacs在Python中过度缩进换行符



Emacs的Python模式有一个令人讨厌的"特性",它会自动将括号和方括号中的换行符缩进前一行的左括号。所以我们得到了像这样的东西

myfunc(a, b, c,
d, e, f)

这很烦人,因为它会使整个文件的缩进看起来不一致,但也因为你会得到之类的东西

myfunc(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, (x,
       y, z))

(我花了很长时间来说明这通常会根据列大小自动发生)

如果我向myfunc添加更多的参数,所有都将被x卡住。

我希望它总是比第一行多缩进四个空格。针对的延续似乎做了正确的事情(不过,我不确定它在100%的情况下是正确的,因为我很少使用)。例如,我想要的是

myfunc(a, b, c,
d, e, f)

myfunc(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, (x,
y, z))

所以我想我想要在python-mode.el.中使用反斜线连续的正确淹没的相反

该值是从py compute缩进中提取的,现在位于当前trunks python-mode.el 的第5091行

bzr分支lp:python模式

在那里插入一个布尔值:(如果我的布尔值py缩进偏移量(而不是返回的COUMPUTED VALUE…

OTOH这个值看起来是合理的,没有与块设计混淆

我还是lisp的新手,所以这可能可以在不编辑源代码的情况下完成,但对我来说,这是最简单的方法。我已在修改python.elhttps://github.com/asmeurer/python.el/tree/indentation以删除此。我还删除了点的自动对齐(比如emacs上的多行python缩进),但这是一个单独的提交。

最新更新