vim-python-pep8-indent
======================
-.. image:: https://travis-ci.org/hynek/vim-python-pep8-indent.png?branch=travis
- :target: https://travis-ci.org/hynek/vim-python-pep8-indent
+.. image:: https://travis-ci.org/Vimjas/vim-python-pep8-indent.png?branch=master
+ :target: https://travis-ci.org/Vimjas/vim-python-pep8-indent
This small script modifies Vim_’s indentation behavior to comply with PEP8_ and my aesthetic preferences.
Most importantly::
Installation
------------
+Install the plugin using your favorite plugin manager / method, a few examples
+follow:
Pathogen
^^^^^^^^
.. code-block:: shell-session
$ cd ~/.vim/bundle
- $ git clone https://github.com/hynek/vim-python-pep8-indent.git
+ $ git clone https://github.com/Vimjas/vim-python-pep8-indent.git
Vundle
.. code-block:: vim
- Plugin 'hynek/vim-python-pep8-indent'
+ Plugin 'Vimjas/vim-python-pep8-indent'
NeoBundle
.. code-block:: vim
- NeoBundle 'hynek/vim-python-pep8-indent'
+ NeoBundle 'Vimjas/vim-python-pep8-indent'
Configuration
-------------
-python_pep8_indent_multiline_string
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+g:python_pep8_indent_multiline_string
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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.
Existing indentation (including ``0``) in multiline strings will be kept, so this setting only applies to the indentation of new/empty lines.
+g:python_pep8_indent_hang_closing
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Control closing bracket indentation with ``python_pep8_indent_hang_closing``, set globally or per buffer.
+
+By default (set to ``0``), closing brackets line up with the opening line::
+
+ my_list = [
+ 1, 2, 3,
+ 4, 5, 6,
+ ]
+ result = some_function_that_takes_arguments(
+ 'a', 'b', 'c',
+ 'd', 'e', 'f',
+ )
+
+With ``python_pep8_indent_hang_closing = 1``, closing brackets line up with the items::
+
+ my_list = [
+ 1, 2, 3,
+ 4, 5, 6,
+ ]
+ result = some_function_that_takes_arguments(
+ 'a', 'b', 'c',
+ 'd', 'e', 'f',
+ )
+
+
+Troubleshooting
+---------------
+
+In case it is not working, please make sure your Vim is configured to load
+indent files (``filetype indent on``).
+This is typically the case when using a plugin manager, but check its docs.
+
+Check ``:verbose set indentexpr?`` in a Python file, which should show
+something like the following:
+
+ indentexpr=GetPythonPEPIndent(v:lnum)
+ Last set from ~/…/plugged/vim-python-pep8-indent/indent/python.vim
+
Notes
-----