Home   Profil   Fun
#58 Linux  06.04.2009

Text-Einrückung bei VIM


In der Standard-Konfiguration von VIM wird die automatische Texteinrückung verwendet. Diese hat jedoch teilweise ein unerwartetes und meist nicht gewolltes Verhalten. Wenn man mehrere Zeilen Text einfügt, die mit Zeichen beginnen oder Zeilen einfügt die ganz leer sind gibt es kein Problem. Aber sobald eine der Zeilen, die man einfügen möchte, mit einem Leerzeichen oder Tab beginnt wird in der nachfolgenden Zeile einfach mit dieser Einrückung weitergemacht auch wenn die nachfolgenden Zeilen eigentlich gar keine Einrückung enthalten. Dies akkumuliert sich dann immer mehr und endet in einer chaotischen Formatierung. Das ist aber alles kein Problem und ist mit zwei Zeilen Konfiguration erledigt.

Für eine temporäre Behebung dieses Verhaltens kann man die folgenden Zeilen direkt im VIM im Kommandomodus eingeben.
:set noautoindent
:set nocompatible

Oder für eine dauerhafte Einstellung fügt man die Zeilen in ~/.vimrc ein.
set noautoindent
set nocompatible

Entsprechend kann man die Einstellungen wieder rückgängig machen.
set autoindent
set compatible

Für das Einrückungsproblem reicht noautoindent aus. Die Option nocompatible ist in manchen Standardinstallationen notwendig, um problemlos mit den Cursor-Tasten im Eingabemodus navigieren zu können, daher habe ich sie hier gleich mitaufgeführt.