К сожалению, похоже, что это задокументированное ограничение Vim. Из документации переноса строки (опция, которая вызывает разрывы строк для каждого слова вместо символа):
Эта опция не используется, если опция 'wrap' выключена или 'list' включен.
Альтернативное решение: выделите конец строки. Простой одноразовый способ - просто найти их (/ $). Кроме того, вы можете использовать подсветку:
:highlight endofline ctermbg=Green
:match endofline /$/
Это даст вашему EOLs зеленый фон. См. :help highlight-args
для получения дополнительной информации о том, как вы можете указать выделение.
Оригинальный ответ
Это не настоящая проблема ОП, но иногда это может произойти, поэтому я оставлю это здесь, чтобы другие могли найти при поиске.
Из справки по 'list'
:
Обратите внимание, что режим списка также влияет на форматирование (устанавливается с помощью 'textwidth' или 'wrapmargin'), когда 'cpoptions' включает в себя 'L'. См. «Listchars» для изменения способа отображения вкладок.
Из справки по 'cpoptions'
:
L Когда опция 'list' установлена, 'wrapmargin', 'textwidth', 'softtabstop' и режим Virtual Replace (см. | GR |) считают a как два символа, вместо нормального поведения a. *
'cpoptions'
- это все о совместимости с vi - запускаете ли вы vim
как vi
? Или вы
вручную установить любой из этих флагов? Проверьте вывод echo &cpoptions
, обязательно запустите как vim
, и если он все еще установлен (не знаю, почему это так), вы можете сбросить флаг (set cpoptions-=L
).
И, конечно же, убедитесь, что настройки для wrap
, wrapmargin
, linebreak
и textwidth
соответствуют вашим требованиям.