我希望自动填充设置为79列代码部分,72代表文档字符串,以获得自动PEP8合规性。对于Lisp模式(emacs-lisp-docstring-fill-column)似乎有一个选项,但不适用于Python。
在包含此内容的地方是否有增强的python-mode.el?
答案 0 :(得分:4)
我不知道该怎么做,但我从来没有觉得有必要。使用 C-x f 来更改填充列非常容易。您只需按 M-p 即可重复使用您输入的最后一个值。只需 C-x f M-p --- 3次击键。
答案 1 :(得分:3)
仅经过轻微测试:
(defadvice current-fill-column (around handle-docstring activate)
(flet ((docp (p) (let ((q (get-text-property p 'face))
(r 'font-lock-string-face))
(or (eq r q) (memq r q)))))
(if (or (docp (point)) (docp (point-at-bol)) (docp (point-at-eol)))
(setq ad-return-value 72)
ad-do-it)))
这取决于启用 font-lock-mode 来检测文档字符串。
答案 2 :(得分:2)
将当前python.el
模式与Emacs 24.3一起分发,您可以按如下方式重新定义python-fill-string
(在此示例中,我还将fill-column
设置为85并更改{{1 }}):
python-fill-docstring-style
答案 3 :(得分:1)
当前的python-mode.el提供
(defcustom py-docstring-fill-column 72 [...]
(defcustom py-comment-fill-column 79 [...]
而代码值为fill-column
时使用。