wiki:VimBreakIndent
Last modified 11 months ago Last modified on 06/01/13 16:04:41

Vim breakindent patch

So I wanted Vim to visually wrap long lines, but take the indentation of the line into account when it does so. Apparently, Vim can't do that, but back in 2007 Václav Šmilauer posted a patch for Vim to add that feature. I have been updating that patch as Fedora releases updates for Vim. Václav has also updated it.

To get this behaviour, rebuild vim with this patch, then set breakindent. You can combine it with set showbreak=.. or set showbreak=\ \ to provide a little bit of additional indent to the wrapped portion of the lines.

For example, this shows vim with set breakindent showbreak=.., set linebreak, set foldmethod=indent foldcolumn=4 and set shiftwidth=4 tabstop=4 softtabstop=4 expandtab options with a visual highlight that wraps across lines:

screenshot with indent folding, breakindent, and linebreak

for Vim 7.3.944 (from Fedora 17)

for Vim 7.3.682 (from Fedora 17)

for Vim 7.3.285 (from Hg)

for Fedora 14, 7.3.056-1.fc14

These older versions of the patch interact poorly with set linebreak:

Fedora 13, 7.3.055-1.fc13

Fedora 11, 7.2.315-1.fc11

Fedora 11, 7.2.148-1.fc11

Attachments