Punk is not Dead

Ärgerlicherweise ignoriert vim sehr eindeutige Anweisungen in .vimrc

:set noexpandtab :set softtabstop=0 :set shiftwidth=4 :set tabstop=4

– immer dann, wenn es auf einheitliche Handhabung von whitespace wirklich ankommt. Glücklicherweise lässt sich der Hintergrund dieses unbotmäßigen Verhaltens rasch ausleuchten:

:verbose set expandtab? noexpandtab Last set from ~/.vimrc line 34 :set ft=python :verbose set expandtab? expandtab Last set from /opt/homebrew/Cellar/vim/8.2.4400/share/vim/vim82/ftplugin/python.vim line 119

Und was findet sich in und um Zeile 119?

if !exists("g:python_recommended_style") || g:python_recommended_style != 0 " As suggested by PEP8. setlocal expandtab tabstop=4 softtabstop=4 shiftwidth=4 endif

Selten war ein Verstoß gegen Konventionen so leicht zu realisieren:

let g:python_recommended_style=0