Is there any way to get vim to auto wrap python strings at 79 chars?


Question

I found this answer about wrapping strings using parens extremely useful, but is there a way in Vim to make this happen automatically? I want to be within a string, typing away, and have Vim just put parens around my string and wrap it as necessary. For me, this would be a gigantic time saver as I spend so much time just wrapping long strings manually. Thanks in advance.

Example:

  1. I type the following text:

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

  2. Vim automatically does this when I hit column 80 with the string:

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

1
35
5/23/2017 11:48:44 AM

More a direction than a solution.

Use 'formatexpr' or 'formatprg'. When a line exceeds 'textwidth' and passes the criteria set by the 'formatoptions' these are used (if set) to break the line. The only real difference is that 'formatexpr' is a vimscript expression, while 'formatprg' filters the line through an exterior program.

So if you know of a formatter that can do this transformation to lines of python code, or are willing to write one, this will give you a hook to have it executed. And since vim supports python (see :help python) you can even write your python formatter in python.

12
8/22/2009 7:51:49 AM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon