Сделайте так, чтобы Vim выполнял только мягкий перенос слов, а не жесткий перенос слов

Пользуюсь Vim уже неделю. И я кое-что заметил.

У меня не задана ширина текста, и у меня установлена ​​упаковка. Теперь мой вопрос. В настоящее время всякий раз, когда длина строки превышает 120 символов (ширина окна), он берет последний символ и просто обертывает его. Итак, если он находится в середине слова, это выглядит так:

This is a very long sen|
tence, this looks very |
strange, don't you thin|
k?                     |

Кстати, | представляет собой ограничение по тексту, в данном случае очень короткое, чтобы доказать мою точку зрения. Итак, это говорит о том, в чем моя проблема, я хотел бы просто решить ее, пока я не теряю экранное пространство.

Конечно, идеальное решение выводило бы следующее, без изменения текста, только вывод, текст остается в одной строке, но кажется, что он распределен по нескольким:

This is a very long    |
sentence, this looks   |
very strange, don't you|
think?                 |

Спасибо за любую помощь, которую вы можете предоставить. :)

Дополнительная информация:

  • ОС: Mac OSX Mountain Lion
  • Использование MacVim

Я пробовал следующее:

set textwidth=120

set wrap
set linebreak

set fo=1

person greduan    schedule 08.11.2012    source источник
comment
Некоторые ответы на stackoverflow.com/q/467739/684934 выглядят многообещающими. (Однако ни один из них не принимается.)   -  person    schedule 08.11.2012
comment
@bdares Спасибо, я не видел этого. Тем не менее, это не решает мою проблему, ни один из вариантов.   -  person greduan    schedule 08.11.2012


Ответы (2)


set linebreak

достаточно. Но это не работает, когда list включен.

person romainl    schedule 08.11.2012
comment
Оно включено. Я использую list. : / - person greduan; 08.11.2012
comment
Ну либо то, либо другое. Прости. - person romainl; 08.11.2012
comment
Нет никакого способа обойти это? Может быть, с помощью специальной функции, которая заменяет эту функциональность? - person greduan; 08.11.2012
comment
Насколько я знаю: это функция низкого уровня. Обычно это то, для чего вы пишете патч. - person romainl; 08.11.2012
comment
Понятно, спасибо за ответы. Просто когда я пишу текст, мне нравится без новых строк. (Тем более что все время меняю). Тем не менее, спасибо. :) - person greduan; 09.11.2012
comment
Это изменилось? В моем .vimrc у меня есть как set list, так и set lbr, и оба работают. Vim 8.0 в Arch Linux. - person Victoria Stuart; 07.01.2017
comment
За пять лет многое может измениться. - person romainl; 08.01.2017
comment
Я думаю, что это немного изменилось, теперь мы можем использовать список и перенос строки одновременно. См. Ссылку на вики vim в следующем ответе для получения более подробной информации. - person ospider; 08.09.2020

Мое решение этой проблемы было на этой странице вики Vim. Спасибо @romainl за то, что убедил меня не использовать list.

person greduan    schedule 09.11.2012