Es hat mich bei Vim schon immer genervt, dass Vim bei jeder hineinkopierten Zeile fortlaufend zusätzlich Leerzeichen hinzufügt. Das habe ich bisher immer mit
gg = G
automatisch ausgleichen lassen. Daraufhin sind nicht alle Einrückungen perfekt, aber es reicht für den Hausgebrauch. Jetzt wollte ich aber einen yaml-Code in eine yaml-Datei kopieren. Falsche Leerzeichen würden die ganze Datei zerstören. Zum Glück habe ich einen Befehl gefunden, wie ich Vim dazu bringen kann, keine selbstständigen Einrückungen vorzunehmen. Dafür gibt es einen speziellen Insert-Modus. Ich gebe ein:
:set paste
Dann füge ich meinen Code ein, und er wird exakt so in das Dokument kopiert, wie er in der Vorlagedatei stand. Der Text im Tooltip lautet jetzt : -- INSERT (paste) --.
Nachdem ich meinen Code eingefügt habe, schalte ich den Einfügemodus wieder aus, sodass die automatische Einrückung bei der Eingabe wieder korrekt funktioniert.
:set nopaste
Allerdings ist das auf die Dauer umständlich. Deshalb mappe ich es so, dass ich während der Bearbeitung des Textes zwischen Einfügen- und Nichteinfügen-Modus wechseln kann. Ich füge dies zur .vimrc hinzu
set pastetoggle=<F3>
Bemerkungen :