如何自动打破长线?

我搜索过googlewebs,但是我一直无法找到一个emacs包,它会以符合(Python)语言的方式自动打破长行。例如:

    def _formatDependencyList(usedList):
        if len(usedList) == 0:
            return '(This thing does not use modules)'
        return ', '.join([_escapeUnderscores(_getBaseNameHead(s)) for s in usedList])

usedList 最右边出现的 s 在我的文件的第80列,并且到了行的末尾,我想发出一个命令,很像 Mq / fill-paragraph 命令,“修复”这一行并使其如下所示:

        return ', '.join([
                _escapeUnderscores(_getBaseNameHead(s)) for s in usedList])

在这种特殊情况下,join 之后的 []是相邻的,所以我会在 [之后打破这一行>。(在更典型的情况下,我会在第一个[字符)中断行。

在我看来,这似乎是emacs可以做的事情,并且可能会(在某处),并且它会为我节省一些整个按钮键击。老实说,我不知道人们如何使用无法填写段落的编辑器,如果我也有这样的话,我也会无法继续生活。

5
这不是填写段落,而是自动代码格式化,一个令人难以置信的难题。您可以更好地找到执行此操作的外部程序,然后在代码上运行它。
额外 作者 ICodeForCoffee,
Pep8ify是一个很好的程序,用于python。默认情况下,虽然它不做长行,但是在运行它时需要切换长行标志。
额外 作者 Airsick,

1 答案

您应该尝试多行。如果没有配置,它允许您通过单键按下循环执行不同的空白策略。

我所做的就是:

(use-package multi-line :bind ("C-;" . multi-line))
1
额外