Vim: обернуть текст (т.е. "Gq" ) без прерывания строк?

Я часто использую gq для переноса кода... Но он не очень умный, когда дело доходит до строк. Например, wrapping:

foo = bar("a b c d e f")

Возможно, результат:

foo = bar("a b c
          d e f")

Что, очевидно, не так полезно, как:

foo = bar("a b c " +
          "d e f")

будет.

Есть ли способ обернуть текст, который учитывает это?

Ответ 1

Я не знаю, как заставить gq сделать это из коробки, но решение, которое я использовал, - это написать пользовательскую функцию и карту в моем случае gqc.

Что-то похожее на this