Ich habe eine UTF-16-Datei mit einer Stückliste. Ich habe folgende Dateicodierungen festgelegt:
set fencs=ucs-bom,utf-16le,utf-8,default,latin1
Aufgrund eines Zeichens in einer Zeile erkennt vim UTF-16 jedoch nicht automatisch und verwendet standardmäßig latin1 mit allen ^@
Nullmarkierungen. Wenn vim gezwungen wird, die Datei als UCS ( :e ++enc=ucs-bom
) zu lesen, wird die Datei erfolgreich gelesen, es wird jedoch "CONVERSION ERROR in line {nn}" (Konvertierungsfehler in Zeile {nn}) gemeldet, der Rest der Datei wurde jedoch korrekt konvertiert. Wenn das fehlerhafte Zeichen entfernt wird, wird die Datei korrekt interpretiert und angezeigt.
Gibt es überhaupt vim zu haben, Konvertierungsfehler zu ignorieren? Das Erzwingen der Codierung bei jeder gültigen Stückliste ist etwas ärgerlich.
:e ++enc
hat - dh, lesen Sie die Datei, aber warnen Sie vor dem Konvertierungsfehler (dh, ich möchte wissen, dass es dort ist, damit ich meine eigene Meinung über die Datei bilden kann). Ich werde es versuchen und sehen, was ich zurück bekomme.