Как остановить разрыв строки в vim

Мне нравится, что длинные строки отображаются более чем на одной конечной линии; Мне не нравится, что vim вставляет новые строки в мой фактический текст. Какую часть .vimrc я должен изменить?

Ответ 1

Используйте

:set wrap

Чтобы визуализировать строки, т.е. строка остается одной строкой текста, но Vim отображает ее на нескольких строках.

Использование

:set nowrap

Чтобы отобразить длинные строки как одну строку (т.е. вам нужно прокручивать по горизонтали, чтобы увидеть всю строку).

Ответ 2

Вот что вы хотите:

" this enables "visual" wrapping
set wrap

" this turns off physical line wrapping (ie: automatic insertion of newlines)
set textwidth=0 wrapmargin=0

Ответ 3

Я не уверен, что полностью понимаю, но вы можете найти настройку конфигурации "formatoptions". Попробуйте что-то вроде :set formatoptions-=t. Опция t вставляет разрывы строк, чтобы сделать перенос текста по ширине, установленной textwidth. Вы также можете поместить эту команду в свой .vimrc, просто удалите двоеточие (:).

Ответ 4

:set tw=0

VIM не будет автоматически вставлять разрывы строк, но будет поддерживать обертку строк.

Ответ 5

Использовать :set nowrap.. работает как шарм!

Ответ 6

Вы можете найти set lbr полезным; с set wrap на этом будет обертываться, но только разрезание строки на пробел, а не на середину слова.

например.

without lbr the li
ne can be split on
a word

и

with lbr on the
line will be
split on 
whitespace only

Ответ 7

set formatoptions-=t Сохраняет визуальную текстовую ширину, но не добавляет новую строку в режиме вставки.

Ответ 8

Странно, что для такой простой настройки потребуется такое количество фокуса-фокуса.

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

:set wrap linebreak nolist

(это, по-видимому, предотвращает нарушение существующих строк, просто оберните.)

и

set formatoptions=l

(это предотвращает разрыв новых/отредактированных строк, а + = не делает это для меня, поскольку другие настройки/плагины, похоже, находят место и добавляют свои собственные параметры, которые переопределяют мой.)

Ответ 9

Если, как и я, вы запускаете gVim для Windows, тогда ваш .vimrc файл может быть источником другого "примерного" файла Vimscript, который автоматически устанавливает textwidth (в моем случае в 78) для текстовых файлов.

Мой ответ на тот же вопрос, что и этот - Как остановить gVim wrapping text в столбце 80 - на сайте обмена Vi и Vim Stack:

В моем случае комментарий Vitor предложил запустить следующее:

:verbose set tw?

Это дало мне следующий результат:

textwidth=78
      Last set from C:\Program Files (x86)\Vim\vim74\vimrc_example.vim

В vimrc_example.vim я нашел соответствующие строки:

" Only do this part when compiled with support for autocommands.
if has("autocmd")

  ...

  " For all text files set 'textwidth' to 78 characters.
  autocmd FileType text setlocal textwidth=78

  ...

И я обнаружил, что мой .vimrc использует этот файл:

source $VIMRUNTIME/vimrc_example.vim

В моем случае я не хочу, чтобы textwidth был установлен для любых файлов, поэтому я просто прокомментировал соответствующую строку в файле vimrc_example.vim.

Ответ 10

Верно, что set nowrap позволит вам вставлять длинную строку без добавления vi/vim новых строк, но тогда линия не визуально завернута для удобства чтения. Это всего лишь одна длинная строка, которую вы должны прокручивать.

Чтобы линия визуально обертывалась, но в нее не вставлялись символы новой строки, установите обертку (которая, вероятно, по умолчанию не нужна для установки) и установите textwidth = 0.

В некоторых системах настройка textwidth = 0 по умолчанию. Если вы не обнаружите, что это так, добавьте set textwidth = 0 в ваш .exrc файл, чтобы он стал вашим пользователем по умолчанию для всех сеансов vi/vim.