Skip to content Skip to sidebar Skip to footer

How Do I Make Text Wrapping Match Current Indentation Level In Vim?

Does anyone know of a way to get vim to wrap long lines of text such that the position of the wrapped text is based on the indentation of the current line? I don't want to reformat

Solution 1:

I asked the same question on SuperUser, eventually found this question, found the patch, and updated the patch to work with Vim 7.2.148 from Fedora 11.

You can use yumdownloader --source vim to get the source RPM. Then add a Patch3312: line and a %patch3012 -p1 line to the spec file, and build the rpm.

Solution 2:

You're looking for breakindent

You may want to also refer to this thread.

Solution 3:

I recommend this vimscript:

http://www.vim.org/scripts/script.php?script_id=974

"This indentation script for python tries to match more closely what is suggested in PEP 8 (http://www.python.org/peps/pep-0008.html). In particular, it handles continuation lines implied by open (parentheses), [brackets] and {braces} correctly and it indents multiline if/for/while statements differently."

Solution 4:

For controlling the indentation of Python code, see :h ft-python-indent. This for example will make Vim indent two times the shiftwidth if you do a newline while there's an unclosed paren:

let g:pyindent_open_paren = '&sw * 2'

However &sw * 2 is the default, so not sure why it's not working for you. It works for me with manual newlines or with textwidth-induced newlines.

The above setting needs to be in .vimrc or needs to be set somehow before Vim enters Python mode. Be sure to :setf python or that you're otherwise in Python mode.

Solution 5:

I think set textwidth=80 should do it.

Post a Comment for "How Do I Make Text Wrapping Match Current Indentation Level In Vim?"