[Python] Vim: Fix python indentation Error
source: https://iqbalnaved.wordpress.com/2013/12/09/vim-tip-how-to-fix-python-exception-indentationerror/
When it has an error due to the indentation (see following message)
>> TabError: inconsistent use of tabs and spaces in indentation <<
it can be resolved in vim editor by the following steps.
The problem is usually with mixup in tabs and spaces –
Solution 1
1. Apply following command in Vim to highlight tabs, spaces and other whitespace differently.
> :set listchars=tab:>-,trail:-,eol:$ list
2. Apply the following to set correct width
> :set shiftwidth=4 tabstop=4 expandtab
3. running
> :retab
Solution 2
1. set ‘list’, so that you can see the whitespace and change.
Have the following mapping in .vimrc for this:
nnoremap <F2> :<C-U>setlocal lcs=tab:>-,trail:-,eol:$ list! list? <CR>
2. Ensure ‘expandtab’ is reset, check using following command –
:verbose set ts? et?
3. To expand all leading spaces (wider than ‘tabstop’), use retab.
retab takes a range, so specify % to mean “the whole file”.
:set tabstop=4 " To match the python file
:set noexpandtab " Use tabs, not spaces
:%retab! " Retabulate the whole file