python-mode.el 中带有反斜杠续行的正确缩进
我喜欢使用 python-mode.el 和 (gnu) emacs 来编辑我的 python 文件。如果我使用括号进行多行延续,缩进将按我的预期工作。例如,
foo_long_long_long_long = (
bar_long_long_long_long[
(x_long_long_long_long == X) &
(y_long_long_long_long == Y)])
这正是我喜欢的方式。
另一方面,如果我使用反斜杠进行延续,则会创建一个缩进,并且所有后续行都将停止使用额外的缩进逻辑。在第三行和第四行下面没有任何额外的缩进
foo_long_long_long_long = \
bar_long_long_long_long[
(x_long_long_long_long == X) &
(y_long_long_long_long == Y)]
有人知道如何修复 python-mode.el (5.1.0) 以便反斜杠延续缩进与括号延续缩进相同吗?
编辑:虽然我很高兴整天只使用括号(Python 毕竟,有点像 lisp...),但我与其他使用反斜杠延续的人合作。当我按 TAB 键时,Emacs 会弄乱缩进,而我经常会本能地这样做。如果能够编辑他们的文件并让 emacs 在处理反斜杠行延续时保留所有缩进智能,那就太好了。
I like to use python-mode.el and (gnu) emacs for editing my python files. If I use parentheses for multiline continuations, indentation works as I expect. For example,
foo_long_long_long_long = (
bar_long_long_long_long[
(x_long_long_long_long == X) &
(y_long_long_long_long == Y)])
is just the way I like it.
On the other hand, if I use a backslash for continuations, a single indentation is created and all subsequent lines stop using the extra indentation logic. Below the third and fourth lines fail to have any extra indentation
foo_long_long_long_long = \
bar_long_long_long_long[
(x_long_long_long_long == X) &
(y_long_long_long_long == Y)]
Does anyone know how to fix python-mode.el (5.1.0) so that backslash continuations indent the same as parenthesis continuations?
EDIT: Although I'm happy to just use parens all day long (python is after all, rather lisp like...), I collaborate with others who use backslash continuations. Emacs messes up the indentation when I press TAB, which I often do as a reflex. It'd be nice to be able to edit their files and have emacs keep all its indentation smarts when working with backslash line continuations.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不要使用黑斜杠延续。
Don't use blackslash continuations.
这有 Bug lp:629916,已在 https://launchpad.net/python-mode 中修复
This got Bug lp:629916, fixed in https://launchpad.net/python-mode