Wie bereits in einigen anderen Antworten erwähnt wurde, ist die bevorzugte Methode jetzt NICHT die Verwendung von smartindent, sondern die Verwendung der folgenden (in Ihrem .vimrc
):
filetype plugin indent on
" show existing tab with 4 spaces width
set tabstop=4
" when indenting with '>', use 4 spaces width
set shiftwidth=4
" On pressing tab, insert 4 spaces
set expandtab
~~In Ihrer [.vimrc:][1] Datei:
set smartindent
set tabstop=4
set shiftwidth=4
set expandtab
Die Hilfedateien sind etwas gewöhnungsbedürftig, aber je mehr Sie lesen, desto besser wird Vim:
:help smartindent
Noch besser ist, dass Sie diese Einstellungen in Ihren Quellcode einbetten können, um sie zu übertragen:
:help auto-setting
Um Ihre aktuellen Einstellungen zu sehen:
:set all
Comme greywh weist in den Kommentaren darauf hin, dass smartindent durch cindent ersetzt wurde, das "geschickter arbeitet", wenn auch immer noch hauptsächlich für Sprachen mit C-ähnlicher Syntax:
:help C-indenting~~
3 Stimmen
Verwandt: Wie kann man Tabulatoren durch Leerzeichen ersetzen? bei Vim SE