我的设置是Emacs 24.4.1,Linux,Python源代码在缓冲区中打开,Python模式0.24.4(随Emacs一起提供),fill-column设置为70,python-fill-docstring-style设置为nil。我在类方法docstring中调用fill-paragraph(M-q)来重新格式化docstring,使得任何行都不超过70个字符。但文档字符串的第一行总是更长。看起来缩进(8个空格)不包括在行长度计算中。我该怎么做才能将线路长度限制在70?我应该使用python-mode.el吗?
示例:
class MyClass(object):
def my_method(self):
"""Some long line with more than 70 characters in the docstring. Some more text."""
在docstring中的M-q后,它看起来像这样。第一个方法docstring行在第78列结束(第二行没有缩进,但这是一个不同的问题):
class MyClass(object):
def my_method(self):
"""Some long line with more than 70 characters in the docstring. Some
more text."""
但是如果行长度为70,则应该是这样的:
class MyClass(object):
def my_method(self):
"""Some long line with more than 70 characters in the
docstring. Some more text."""
答案 0 :(得分:4)
我的回答包括两部分:
答案 1 :(得分:1)
使用python-mode.el的当前主干,r1993和默认样式pep-257-nn
M-q 产生
class MyClass(object):
def my_method(self):
"""Some long line with more than 70 characters in the docstring.
Some more text.
"""