有没有办法让vim自动包装79个字符的python字符串?

有没有办法让vim自动包装79个字符的python字符串?,python,vim,string,word-wrap,Python,Vim,String,Word Wrap,我发现使用paren包装字符串非常有用,但是在Vim中有没有一种方法可以自动实现这一点?我想在一个字符串中输入,让Vim在字符串周围放上parens,必要时将其包装起来。对我来说,这将是一个巨大的时间节省,因为我花了这么多时间只是手工包装长字符串。提前谢谢 例如: 我键入以下文本: mylongervarname = "my really long string here so please wrap and quote automatically" mylongervarname=“我的字符串

我发现使用paren包装字符串非常有用,但是在Vim中有没有一种方法可以自动实现这一点?我想在一个字符串中输入,让Vim在字符串周围放上parens,必要时将其包装起来。对我来说,这将是一个巨大的时间节省,因为我花了这么多时间只是手工包装长字符串。提前谢谢

例如:

  • 我键入以下文本:
    mylongervarname = "my really long string here so please wrap and quote
    automatically"
    
    mylongervarname=“我的字符串很长,请包装并引用
    自动“
    

  • 当我用字符串点击第80列时,Vim会自动执行此操作:
    mylongervarname = ("my really long string here so please wrap and "
                       "quote automatically")
    
    mylongervarname=(“我的字符串很长,所以请包装并”
    “自动报价”)
    


  • 与其说是解决方案,不如说是方向

    使用
    'formatexpr'
    'formatprg'
    。当一行超过
    'textwidth'
    并通过
    'formatoptions'
    设置的标准时,这些标准用于(如果设置)断行。唯一真正的区别是
    'formatexpr'
    是一个vimscript表达式,而
    'formatprg'
    通过外部程序过滤行


    因此,如果您知道一个格式化程序可以对python代码行进行这种转换,或者愿意编写一个,那么这将为您提供一个钩子来执行它。由于vim支持python(请参见
    :help python
    ),您甚至可以用python编写python格式化程序。

    如果这是在docstrings中,您可以始终使用vim的gq包装文本。如果是内联的。。为什么会有这么长的内联文本?它只在需要添加成员的帮助文本之类的内容时出现。这种情况并不经常发生,但当它发生时,这是一种痛苦,我正在寻找任何方法来避免它。而且,这种情况经常发生,只是因为默认的选项卡设置,其中字符串将自动缩进到长行的末尾。例如,self.fields['description'].help_text=“此处的一些文本已经非常深入了。”很高兴您喜欢我的答案。我不知道这个问题的答案,但我可能也会使用它。我要说的是,如果你有一堆长字符串,只对它们进行三重引用和/或将它们包含在一个外部文件中可能是有意义的。这不完全是你所要求的,但是在.vimrc中设置“set textwidth=80”对你来说会有一些作用吗?我尝试过编写formatexpr,但我甚至在运行它时遇到了麻烦。我已经搜索了很多关于编写其中一个的例子或文档,但始终没有找到任何东西。下面是一个例子(请参见
    autofmt.zip:autofmt/autoload/autofmt/compat.vim