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

时间:2009-08-21 20:54:02

标签: python vim string wrapping textwrapping

我发现这个answer关于使用非常有用的parens来包装字符串,但是Vim中是否有办法让它自动发生?我想要在一个字符串中,打字,并让Vim只是在我的字符串周围放置parens并根据需要包装它。对我来说,这将是一个巨大的节省时间,因为我花了很多时间手工包装长字符串。提前谢谢。

示例:

  1. 我输入以下文字:

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

  2. 当我用字符串命中第80列时,Vim会自动执行此操作:

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

1 个答案:

答案 0 :(得分:12)

更多的方向而非解决方案。

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

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