Vim:在不中断字符串的情况下包装文本(即“gq”)?

Vim:在不中断字符串的情况下包装文本(即“gq”)?,vim,Vim,我经常使用gq来包装代码……但是当涉及到字符串时,它不是很聪明。例如,包装: foo = bar("a b c d e f") 可能导致: foo = bar("a b c d e f") 显然,这远不如: foo = bar("a b c " + "d e f") 是的 有没有什么方法可以把这一点考虑进去呢?我不知道有什么方法可以让gq直接做到这一点,但我使用的解决方案是编写一个自定义函数,并将它映射到gqc中 类似于的东西我很想看到解决方案。我确

我经常使用
gq
来包装代码……但是当涉及到字符串时,它不是很聪明。例如,包装:

foo = bar("a b c d e f")
可能导致:

foo = bar("a b c
          d e f")
显然,这远不如:

foo = bar("a b c " +
          "d e f")
是的


有没有什么方法可以把这一点考虑进去呢?

我不知道有什么方法可以让gq直接做到这一点,但我使用的解决方案是编写一个自定义函数,并将它映射到gqc中


类似于

的东西我很想看到解决方案。我确信它需要一个vim脚本,但我不知道…回答是。