有没有什么办法可以让vim在79个字符处自动换行pythonstring?

我发现这个回答关于使用parens包装string是非常有用的,但是在Vim中有没有办法自动实现呢? 我想要在一个string内input,然后让Vim把string放在我的string周围,并根据需要进行包装。 对我来说,这将是一个巨大的节省时间,因为我花了很多时间手动包装长string。 提前致谢。

例:

  1. 我input以下文本:

    mylongervarname = "my really long string here so please wrap and quote automatically" 
  2. 当我用string命中列80时,Vim自动执行此操作:

     mylongervarname = ("my really long string here so please wrap and " "quote automatically") 

更多的方向比解决scheme。

使用'formatexpr''formatprg' 。 当一行超过'textwidth'并且通过'formatoptions'设置的标准时,这些被使用(如果设置)来中断行。 唯一真正的区别是'formatexpr'是一个vimscriptexpression式,而'formatprg'通过一个外部程序来过滤这条线。

所以如果你知道一个格式化程序可以对python代码行进行这种转换,或者愿意编写一个格式化程序,这会给你一个钩子来执行它。 而且由于vim支持python(请参阅:help python ),您甚至可以用python编写python格式化程序。