Der Inhalt Ihrer Quellwebseite wurde zu stark umformatiert. Der Text wurde zweifellos soll (gerade) einfache Anführungszeichen (ASCII 39/0x27
, U+0027
) anstelle von geschweiften Apostrophe ( U+2018
und U+2019
, die sind 0x91 and 0x92
in CP1252 (auch als MS-ANSI und WINDOWS-1252 bekannt, eine gemeinsame 8-Bit - Codierung unter Windows)) .
Vim zeigt Ihnen die Hex-Codes an, da diese in der von Vim verwendeten Codierung (wahrscheinlich UTF-8) nicht gültig sind. Wenn Sie Text bearbeiten, der bereits in einer Datei gespeichert wurde, können Sie die Datei als CP1252 mit :e ++enc=cp1252
; Dies sollte die geschweiften Anführungszeichen sichtbar machen. Aber es gibt keinen wirklichen Grund , es als CP1252 neu zu laden, löschen Sie einfach die 0x91
und 0x92
Zeichen und ersetzen sie durch einfache Anführungszeichen.
:e ++enc=cp1252
:e ++enc=cp1252
? Wenn ich von der Kommandozeile aus eine Datei mit MS-Word-Zeichen vi haben möchte, wäre es schön, wenn ich das in einem Schritt tun könnte, anstatt vi zu öffnen und dann die Datei mit dem:e
Kommando zu ladenvim --cmd 'set fileencodings=cp1252' /path/to/file
- Der Befehl wird vor dem normalen ausgeführt.vimrc
und legt diefileencodings
Option fest (beachten Sie die Endungs
; Sie können auch den kürzeren Namen verwendenfencs
), sodass Vim CP1252 nur beim Laden von Dateien versucht. Dies sollte für die einmalige Bearbeitung solcher Dateien funktionieren, kann jedoch zu Komplikationen führen, wenn Sie diese Instanz von Vim zum Bearbeiten von Dateien mit anderen Codierungen verwenden möchten.vim -c"set fencs" /path/to/file
91 und 92 sind die Hex-Codes für das Öffnen und Schließen von geschweiften Apostrophen (einfache Anführungszeichen) in der MS Windows-Standardversion der latin1 / ISO-8859-1-Codierung, die genauer gesagt cp1252 / Windows-1252 heißt (wobei cp für Code steht) Seite).
Diese Zeichen werden am häufigsten von Personen eingefügt, die im Rahmen der Funktion "Intelligente Anführungszeichen" Inhalte aus Word-Dokumenten / Outlook-E-Mails kopieren. Andere Problemzeichen in dieser Codepage sind Hex 93/94, offene und geschlossene doppelte Anführungszeichen, Aufzählungszeichen (•) und OE-Ligatur (œ und Œ). Eine vollständige Liste der "Problemzeichen", die nicht mit demselben Code direkt in ISO-8859-1 oder UTF-8 abgebildet werden, finden Sie auf der Wikipeda-Seite für cp1252, die grün hervorgehoben ist.
Wenn Sie die Datei nur in der richtigen Codierung öffnen möchten, verwenden Sie die Option ++ enc = cp1252 für den Befehl: e:
Sie können einen bestimmten ungültigen Hex-Code in Vim durch den (die) Ersatzbefehl (e) und eine der folgenden Code-Ersetzungen ersetzen:
Um die hexadezimalen 91/92 Zeichen in zu ändern, müssen Sie Folgendes tun:
quelle
sed -i "s/[\x91\x92]/\'/g" *.txt
aber es hat nicht funktioniert.perl -p -i -e "s/[\x91\x92]/'/g" *.txt
sed -i "s/\x92/'/g"
arbeitete für mich.Verwenden Sie
iconv
diese Option, um die Textdatei vor dem Öffnen von CP1252 nach UTF-8 zu konvertieren.Verwenden Sie unter Mac OS Folgendes:
quelle
Sie stehen eigentlich für hex 91 und 92, die in der Windows-Codepage geschweifte öffnende und schließende einfache Anführungszeichen sind ('und' - Alt-0145 und Alt-0146).
Versuchen Sie folgendes Suchen / Ersetzen:
quelle