Is there any way to get vim to auto wrap python st

2019-01-10 08:04发布

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条回答
啃猪蹄的小仙女
2楼-- · 2019-01-10 08:45

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.

查看更多
登录 后发表回答