Ich habe gestern vundle installiert und seitdem wird die in meinem vimrc konfigurierte Tab-Breite ignoriert und auf 4 anstatt auf 2 zurückgesetzt.
Ich fand heraus, dass die folgende Zeile nach dem Vundle-Absatz dies verursacht:
filetype plugin indent on
Meine Einrückung ist wie folgt aufgebaut:
set noexpandtab " Make sure that every file uses real tabs, not spaces
set shiftround " Round indent to multiple of 'shiftwidth'
set smartindent " Do smart indenting when starting a new line
set autoindent " Copy indent from current line, over to the new line
" Set the tab width
let s:tabwidth=2
exec 'set tabstop=' .s:tabwidth
exec 'set shiftwidth=' .s:tabwidth
exec 'set softtabstop='.s:tabwidth
Sie können meine vollständige vimrc hier überprüfen .
Ich habe das Einrückungsproblem mit einem Python-Skript getestet (wobei Einrückung wirklich wichtig ist).
Ich habe bereits versucht, zu wechseln filetype plugin indent on
, filetype plugin on
aber das ändert nichts. Nur das Auskommentieren dieser Zeile hilft.
In der Vundle-Installationsanleitung heißt es nun, dass diese Zeile erforderlich ist.
Wie behebe ich dieses Einrückungsproblem? Kann ich die Dateitypzeile einfach weglassen oder ist es wirklich obligatorisch, sie im vimrc zu belassen?
Lösung:
Dank @ChristianBrabandt und @romainl habe ich jetzt eine Lösung gefunden, die sich auch in einer einzelnen vimrc-Datei befinden kann:
filetype plugin indent on
[...]
set noexpandtab " Make sure that every file uses real tabs, not spaces
set shiftround " Round indent to multiple of 'shiftwidth'
set autoindent " Copy indent from current line, over to the new line
" Set the tab width
let s:tabwidth=2
au Filetype * let &l:tabstop = s:tabwidth
au Filetype * let &l:shiftwidth = s:tabwidth
au Filetype * let &l:softtabstop = s:tabwidth