2012-05-16 22 views
3

我有一个字符串值列表,我想autoformat但vim打破了字符串,如果它有一个空格。如何让vim在autoformating时不会破坏字符串?

这可以以某种方式修复吗?

例如

"sdasda", "asdasdasd", "afasfasf", "asdasda asdasd", "asdasd" 

成为

"sdasda", "asdasdasd", "afasfasf", "asdasda 
    asdasd", "asdasd" 

,但我想

"sdasda", "asdasdasd", "afasfasf", 
    "asdasda asdasd", "asdasd" 

额外的好处:这将是很好的它支持不同的字符串formatings(Python中,”'。和“”“)

+0

使用语法信息进行格式化可能会有一些技巧,但这超出了我的vim技能。在[vim_use](http://groups.google.com/group/vim_use)上闲逛的人可能会发现这个问题很容易回答。 – Lumi

+0

可能值得注意的是,我需要它来支持不同的字符串表示(python程序员需要支持“'和”“”) – Sedrik

+0

@Lumi我会给他们链接到问题=)谢谢 – Sedrik

回答

1

这可以通过自定义'formatexpr'(在光标前检查未封闭的字符串报价,然后从该位置执行重新格式化而不是插入位置)来实现。

不过,我还没有看到任何自定义'formatexp'在我多年的Vim使用的,因此,除非事情变成了这里或vim_use [档案],你可能有自己实现这样的事情(这是不平凡如果你还想支持通过gq重新格式化,并且需要Vimscript的体面知识)。