Jake Rayson
Jake Rayson

Reputation: 921

How to impose hard wrap against my soft wrap wishes?

Well, I'm a newb at Vim, so I'm guessing there's a 99% chance it's a user error!

Vim was soft wrapping long lines very nicely thank you, then a couple of days ago it started to insert hard wraps but only when I had saved the file.

I have been through wrap, nolinebreak, textwidth, nolist, and all combinations thereof to try to get softwrap back but to no avail. Heck, I even read the help pages. All of 'em.

Here's the relevant bits from my .vimrc (as you can tell, I'm getting desperate):

" Editing
set aw ai
set et ts=8 sts=2 sw=2 nu
set fo+=tcrqw fo-=o
set showmatch matchtime=5
set whichwrap=<,>,h,l,[,]
set cursorline
set nofoldenable
set wrap 
set linebreak
let mapleader = ","

I picked up this .vimrc from using Vundle.

Upvotes: 2

Views: 638

Answers (4)

MarkHu
MarkHu

Reputation: 1859

Janus is another Vim plugin that fiddles with linewrap/linebreak and textwidth.

:verbose set tw?

told me:

textwidth=72
    Last set from ~/.vim/janus/vim/core/before/plugin/filetypes.vim

Now I just need to figure out the right incantation to disable that... for now, I just added set textwidth=99 to my ~/.vimrc.after file, but there may be a better way...

Upvotes: 2

Jake Rayson
Jake Rayson

Reputation: 921

I found the culprit, Tim Pope's Vim Markdown plugin. Lovely plugin but personally prefer soft wraps, will have to find how to change it!

Upvotes: 4

Randy Morris
Randy Morris

Reputation: 40927

I have a suspicion this is probably caused by your fo line. Having "t" in the formatoptions option means that if a textwidth is set for the current buffer then vim will break lines at this width. You may notice that this only happens for certain filetypes because different ftplugins may be setting textwidth without you knowing.

The next time you see this happening, I'd suggest running :verbose set textwidth? (with the question mark) and seeing if the value is set. This command will also point you to where it was last set.

Another test would be to just remove "t" from your fo line and see if the problem goes away.

Upvotes: 2

sehe
sehe

Reputation: 393134

but only when I had saved the file.

This should hint to you that some plugin is touching the buffer Pre-Write.

Find out which it is by doing

:au BufWrite,BufWritePre,BufWriteCmd
:au FileWriteCmd,FileWritePre

To see where the trigger was installed from:

:verbose au BufWrite,BufWritePre,BufWriteCmd
:verbose au FileWriteCmd,FileWritePre

Upvotes: 2

Related Questions