How do I make text wrapping match current indentation level in vim?

前端 未结 5 1340
无人及你
无人及你 2020-12-16 00:28

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

相关标签:
5条回答
  • 2020-12-16 00:52

    You're looking for breakindent

    You may want to also refer to this thread.

    0 讨论(0)
  • 2020-12-16 01:02

    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.

    0 讨论(0)
  • 2020-12-16 01:07

    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.

    0 讨论(0)
  • 2020-12-16 01:10

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

    0 讨论(0)
  • 2020-12-16 01:13

    I think set textwidth=80 should do it.

    0 讨论(0)
提交回复
热议问题