Auto wrap long lines in VIM

2019-04-18 16:25发布

问题:

When I edit a haskell file in Vim, my editor automatically wraps comments that go past 80 characters to the next line. I'd like Vim to use the same behavior for python files (and text files), but I can't find the setting that does this anywhere, in my ~/.vim/syntax folder or vimrc.

Here are relevant lines of my .vimrc:

set wrap
set textwidth=80

回答1:

Setting textwidth will put your maximum line length. This would put a new line at that character point (white space could play with an exact 80 a bit though). (This effects the actual formatting of your file).

wrap is indeed what you want for your splitting/wrapping though.

Make sure your .vimrc is in your home directory.



回答2:

I uses the following script in my vimrc to wrap .txt file automatically. This may give you some hints.

if has('autocmd')
  au BufRead,BufNewFile *.txt set wm=2 tw=80
endif


回答3:

If a line is already longer than textwidth when insert mode is started, the line may not be wrapped even if text is added to the line. A long line is not wrapped when text is added if formatoptions contains "l". If needed, "l" can be removed like so:

:set fo-=l

You can check the value of your formatoptions via:

:set fo?

You can learn the meaning of those letters here or via:

:he fo-table