0

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 中使用反斜杠继续进行正确缩进的反转

4

2 回答 2

0

该值是从 py-compute-indentation 中获取的,现在位于当前主干 python-mode.el 的第 5091 行

bzr 分支 lp:python 模式

在那里引入一个布尔值:(如果 my-boolean py-indent-offset (INSTEAD OF COUMPUTED VALUE RETURNED...

OTOH,该值似乎是合理的,而不是与块设计混淆

于 2012-09-17T12:18:38.447 回答
0

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

于 2013-03-17T22:23:37.207 回答