给定功能
def foo():
"""
etc
stuff
"""
pass
当我将M-q运行到我的文档字符串中时,emacs(24.3.1,python.el)会像这样重新格式化foo:
def foo():
"""etc
stuff
"""
pass
如何告诉python.el不管它? (我知道这种行为是新的,不同计算机上的旧emacs(我无法访问)并没有这样做)。
答案 0 :(得分:5)
python.el
正在做的事实上是Python惯例(虽然在第一行之后没有空行) - 请参阅PEP-0257&#39}示例:
def complex(real=0.0, imag=0.0):
"""Form a complex number.
Keyword arguments:
real -- the real part (default 0.0)
imag -- the imaginary part (default 0.0)
"""
if imag == 0.0 and real == 0.0:
return complex_zero
查看the source code for python.el
,更改此行为的参数为'python-fill-docstring-style'
,默认为pep-257
,但提供了一些替代方法:
:type '(choice
(const :tag "Don't format docstrings" nil)
(const :tag "Django's coding standards style." django)
(const :tag "One newline and start and Two at end style." onetwo)
(const :tag "PEP-257 with 2 newlines at end of string." pep-257)
(const :tag "PEP-257 with 1 newline at end of string." pep-257-nn)
(const :tag "Symmetric style." symmetric))