Я отметил, что, когда я разоблачаю EOL listchars в тексте, разрывы строки являются losen
p.e.
this is my text of this
message
становится после сетлиста.. eol
this is my text of this mess
age(EOL CHAR)
Я хотел бы видеть символы EOL, не нарушая обещания в границе окна. Это возможно?
К сожалению, похоже, что это документированное ограничение Vim. Из документации по linebreak (опция, которая вызывает перенос строки на слово, а не на символ):
Эта опция не используется, когда опция 'wrap' выключена или 'list' включена.
Альтернативное решение: выделить конец строки. Простой одноразовый способ - просто искать их (/$). Кроме того, вы можете использовать подсветку:
:highlight endofline ctermbg=Green
:match endofline /$/
Это придаст вашим EOL'ам зеленый фон. Смотрите :help highlight-args
для получения дополнительной информации о том, как можно задать подсветку.
Это не является проблемой ОП, но иногда может случиться, поэтому я оставлю это здесь, чтобы другие могли найти при поиске.
Из справки по 'list'
:
Обратите внимание, что режим списка также влияет на форматирование (установленное с помощью 'textwidth' или 'wrapmargin'), если 'cpoptions' включает 'L'. См. 'listchars' для изменения способа отображения вкладок.
Из справки по 'cpoptions'
:
L Когда установлена опция 'list', 'wrapmargin', 'textwidth', 'softtabstop' и режим виртуальной замены (см. |gR|) считают a как два символа, вместо обычного поведения a .
'cpoptions'
- это все о совместимости с vi - вы запускаете vim
как vi
? Или вы
вручную устанавливаете какой-либо из этих флагов? Проверьте вывод echo &cpoptions
, убедитесь, что вы запускаете vim
, и если он все еще установлен (не знаю, почему), вы можете снять флаг (set cpoptions-=L
).
И, конечно, убедитесь, что настройки wrap
, wrapmargin
, linebreak
и textwidth
соответствуют вашим требованиям.