Dinge, die ich versucht habe

Dinge, die ich versucht habe

Wenn ich Vim auf meinem Laptop öffne und reguläre Ausdrücke wie diese ausführe:

:%s/foo/\n/g

vim fügt ^@ anstelle von Zeilenumbrüchen ein.

Dieses Problem trat letzte Woche auf. Ich verwende Ubuntu 18.04.04. Ich denke, das Problem könnte aufgetreten sein, nachdem Ubuntu Updates installiert hatte.

Dinge, die ich versucht habe

Kodierung und Dateikodierung

Ich habe versucht, die Kodierung und Dateikodierung auf UTF-8 und dann auf Latin1 einzustellen, aber das hat keinen Unterschied gemacht.

:lang

:lang erzeugt „Aktuelle Sprache: „LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=es_ES.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=es_ES.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=es_ES.UTF-8;LC_NAME=es_ES.UTF-8;LC_ADDRESS=es_ES.UTF-8;LC_ TELEPHONE=es_ES.UTF-8;LC_MEASUREMENT=es_ES.UTF-8;LC_IDENTIFICATION=es_ES.UTF-8“

Wenn ich vim aufrufe mit

LC_ALL=C vim foo

dann macht es keinen Unterschied, das Problem besteht weiterhin.

Antwort1

\n bedeutet in vim beim Ersetzen nicht eine neue Zeile, sondern null.

Verwenden Sie stattdessen \r. Beispiel:

:%s/foo/\r/g

verwandte Informationen