Есть ли способ получить vim для автоматического переноса строк python на 79 символов?

Я нашел этот ответ об обертывании строк с использованием парнеров чрезвычайно полезным, но есть ли способ в Vim сделать это автоматически? Я хочу быть внутри строки, печатать, и Vim просто помещает parens вокруг моей строки и завертывает ее по мере необходимости. Для меня это будет гигантская экономия времени, поскольку я трачу столько времени, просто обматывая длинные строки вручную. Спасибо заранее.

Пример:

  • Напечатаю следующий текст:

    mylongervarname = "my really long string here so please wrap and quote
    automatically"
    
  • Vim автоматически делает это, когда я нажимаю столбец 80 со строкой:

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

Ответ 1

Больше направления, чем решение.

Используйте 'formatexpr' или 'formatprg'. Когда строка превышает 'textwidth' и передает критерии, установленные с помощью 'formatoptions', они используются (если установлены) для разрыва строки. Единственное реальное отличие состоит в том, что 'formatexpr' является выражением vimscript, а 'formatprg' фильтрует строку через внешнюю программу.

Итак, если вы знаете о форматировании, который может сделать это преобразование в строки кода python или готовы написать один, это даст вам крючок для его выполнения. И поскольку vim поддерживает python (см. :help python), вы даже можете записать свой форматировщик python в python.