如何使文本换行与vim中的当前缩进级别匹配?

2024-10-01 07:51:27 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有人知道让vim包装长行文本的方法,以便换行文本的位置基于当前行的缩进?我不想重新格式化我的代码,只是为了让它显示得漂亮。在

例如,如果我设置我的设置,使行:

print 'ProcessorError(%r, %r, %r)' % (self.file, self.index, self.message)

包装时显示为:

^{pr2}$

那么如果我写一段这样的代码:

    def __repr__(self):
        return 'ProcessorError(%r, %r, %r)' % (self.file, self.index, self.message)

它总结成这样:

    def __repr__(self):
        return 'ProcessorError(%r, %r, %r)' % (self.file, self.index,
    self.message)

我希望它显示为:

    def __repr__(self):
        return 'ProcessorError(%r, %r, %r)' % (self.file, self.index,
            self.message)

编辑:在阅读了Don Werve的回复之后,我似乎确实在寻找breakindent选项,但该选项仍然在“等待更新补丁”列表中(参见Vim TODO)。所以我想知道的是,让vim与breakindent一起工作的最简单的方法是什么?(我不在乎我必须使用什么版本的vim。)


Tags: 方法代码文本selfmessageindexreturndef
3条回答

您正在寻找breakindent

您可能还需要参考this thread。在

我推荐这个vimscript:

http://www.vim.org/scripts/script.php?script_id=974

python的这个缩进脚本试图更接近pep8(http://www.python.org/peps/pep-0008.html)中的建议。特别是,它正确地处理由左(括号)、[方括号]和{大括号}所隐含的连续行,并以不同的方式缩进多行if/for/while语句。”

我问了same question on SuperUser,最终找到了这个问题,找到了补丁,updated the patch使用Fedora11中的Vim7.2.148。在

您可以使用yumdownloader --source vim来获取源RPM。然后在spec文件中添加Patch3312:行和%patch3012 -p1行,并构建rpm。在

相关问题 更多 >