Ref: https://iqbalnaved.wordpress.com/2013/12/09/vim-tip-how-to-fix-python-exception-indentationerror/
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.
1 | :set listchars=tab:>-,trail:-,eol:$ list |
2. Apply the following to set correct width
1 | :set shiftwidth=4 tabstop=4 expandtab |
3. running
1 | :retab |
to fix the problem,Vim automatically fixes all indentation space and tab mix ups.
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
No comments:
Post a Comment