foobar( foo, bar )
Follow the instructions on installing Pathogen and then:
$ cd ~/.vim/bundle $ git clone https://github.com/Vimjas/vim-python-pep8-indent.git
Follow the instructions on installing Vundle and add the appropriate plugin line into your
Follow the instructions on installing NeoBundle and add the appropriate NeoBundle line into your
You can configure the initial indentation of multiline strings using
g:python_pep8_indent_multiline_string (which can also be set per buffer).
This defaults to
0, which means that multiline strings are not indented.
-1 and positive values will be used as-is, where
-1 is a special value for Vim's
indentexpr, and will keep the existing indent (using Vim's
-2 is meant to be used for strings that are wrapped with
textwrap.dedent etc. It will add a level of indentation if the multiline string started in the previous line, without any content in it already:
With content already, it will be aligned to the opening parenthesis:
testdir.makeconftest("""def pytest_addoption(parser): _
Existing indentation (including
0) in multiline strings will be kept, so this setting only applies to the indentation of new/empty lines.
Please note that Kirill Klenov’s python-mode ships its own version of this bundle. Therefore, if you want to use this version specifically, you’ll have to disable python-mode’s using:
let g:pymode_indent = 0
License and Authorship
This script is based on one from Vim’s official script repo that was not originally written by me. Unfortunately the indentation was off by one character in one case and the script hasn’t been updated since 2005.
Even more unfortunately, I wasn’t able to reach any of the original authors/maintainers: David Bustos and Eric Mc Sween.
I’d like to thank the original authors here for their work and release it hereby to the Public Domain (using the CC0 licence) since I hope that would be in their spirit. If anyone with a say in this objects, please let me know immediately. Also, if someone is in contact with one of them, I would appreciate being introduced.
While my Vimscript skills are still feeble, I intend to maintain it for now. This mainly means that I’ll triage through bugs and pull requests but won’t be fixing much myself.