Emacs - Python括号内缩进

0 投票
1 回答
714 浏览
提问于 2025-04-17 21:47

我在emacs中使用的默认python模式,会把下面这段多行代码缩进成这样:

mydict = {
        "a": 1,
        "b": 2,
}

这样缩进是符合PEP8规范的。

但我更喜欢用下面这种风格:

mydict = {
    "a": 1,
    "b": 2,
    }

这种缩进同样也是符合PEP8规范的。

我该怎么告诉emacs,让最后一个括号的缩进和前一行的开头对齐呢?

1 个回答

1

只需要安装最新的 python-mode.el(可以从 https://launchpad.net/python-mode 下载)。

在最新的版本 6.1.4 中,加入了 PEP8 的一个新功能“在关闭列表时缩进替代选项”(具体可以查看 发布说明)。

对于你的情况,你不需要做任何自定义设置,直接使用默认选项就可以了。

默认情况下,py-close-at-start-column-p 的值是 nil,这看起来像:

my_list = [
     1, 2, 3,
     4, 5, 6,
     ]
result = some_function_that_takes_arguments(
     'a', 'b', 'c',
     'd', 'e', 'f',
     )

撰写回答