Есть ли способ получить 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.