Мне нравится, что длинные строки отображаются более чем на одной конечной линии; Мне не нравится, что vim вставляет новые строки в мой фактический текст. Какую часть .vimrc я должен изменить?
Как остановить разрыв строки в vim
Ответ 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.