How to stop line breaking in vim

匿名 (未验证) 提交于 2019-12-03 01:14:02

问题:

I like that the long lines are displayed over more than one terminal line; I don’t like that vim inserts newlines into my actual text. Which part of .vimrc I should change?

回答1:

Use

:set wrap

To wrap lines visually, i.e. the line is still one line of text, but Vim displays it on multiple lines.

Use

:set nowrap

To display long lines as just one line (i.e. you have to scroll horizontally to see the entire line).



回答2:

Here's what you want:

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


回答3:

I'm not sure I understand completely, but you might be looking for the 'formatoptions' configuration setting. Try something like :set formatoptions-=t. The t option will insert line breaks to make text wrap at the width set by textwidth. You can also put this command in your .vimrc, just remove the colon (:).



回答4:

:set tw=0

VIM won't auto-insert line breaks, but will keep line wrapping.



回答5:

Use :set nowrap .. works like a charm!



回答6:

You may find set lbr useful; with set wrap on this will wrap but only cutting the line on whitespace and not in the middle of a word.

e.g.

without lbr the li ne can be split on a word

and

with lbr on the line will be split on  whitespace only


回答7:

set formatoptions-=t Keeps the visual textwidth but doesn't add new line in insert mode.



回答8:

Its strange that such a simple setting would require this amount of 'hocus-pocus' to work.

To answer your question now, for me it seemed to work with the combination of the following:

:set wrap linebreak nolist

(this seems to prevent existing lines from breaking, just wrap.)

AND

set formatoptions=l

(this prevents new/edited lines from breaking, while += does not do it for me as other settings/plugins seem to find space and add their own options which override mine.)



回答9:

If, like me, you're running gVim on Windows then your .vimrc file may be sourcing another 'example' Vimscript file that automatically sets textwidth (in my case to 78) for text files.

My answerHow to stop gVim wrapping text at column 80the Vi and Vim Stack Exchange site:

In my case, Vitor's comment suggested I run the following:

:verbose set tw?

Doing so gave me the following output:

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

In vimrc_example.vim, I found the relevant lines:

" 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    ...

And I found that my .vimrc is sourcing that file:

source $VIMRUNTIME/vimrc_example.vim

In my case, I don't want textwidth to be set for any files, so I just commented out the relevant line in vimrc_example.vim.



回答10:

It is correct that set nowrap will allow you to paste in a long line without vi/vim adding newlines, but then the line is not visually wrapped for easy reading. It is instead just one long line that you have to scroll through.

To have the line visually wrap but not have newline characters inserted into it, have set wrap (which is probably default so not needed to set) and set textwidth=0.

On some systems the setting of textwidth=0 is default. If you don't find that to be the case, add set textwidth=0 to your .exrc file so that it becomes your user's default for all vi/vim sessions.



转载请标明出处:How to stop line breaking in vim
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!