Итак, у меня есть следующий набор в моем vim:

set wrap linebreak textwidth=78

которая переносит строку, когда вы набираете более 78 символов, ОДНАКО! если вы попытаетесь внести изменение в середине строки, эта функция больше не будет работать, строка не будет перенесена должным образом, поэтому в строке будет размещено более 78 символов ....

Так что мне было интересно .. что ты делаешь?

1 ответ1

3

Вы путаете понятия обтекания и форматирования, так как эти понятия используются Vim. Обтекание относится к отображению строк, длина которых превышает ширину экрана. Форматирование относится к разрыву и объединению строк путем вставки и удаления новых строк, обычно так, что все строки имеют «текстовую ширину» или меньше по длине.

Параметры «Обтекание» и «Разрыв строки» влияют на длину отображаемых строк. Они не влияют на содержание строк. Они влияют на то, как строки переносятся по правому краю экрана ; их поведение не зависит от «текстовой ширины».

Опция 'textwidth' влияет на точку, в которой строка прерывается добавлением новой строки, когда текст добавляется к строке. На это поведение также влияют параметры «wrapmargin» и «formatoptions». Детали этого поведения обсуждаются здесь:

:help 'formatoptions'
:help fo-table
:help 25.1

Vim имеет возможность автоматического форматирования, которая может оказаться полезной. Увидеть

:help auto-format

Это слишком навязчиво на мой вкус. Я предпочитаю держать весь свой текст в текстовой полосе 78 для кода и 68 для электронной почты. Vim автоматически добавляет новую строку и помещает курсор на следующую строку, когда я добавляю строку, и длина превышает текстовую ширину. Когда я редактирую в середине строки, форматирование становится уродливым, но я просто жду, пока я закончу с этим абзацем или комментарием, затем переформатирую все это с некоторым изменением команды gq .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .