Es gibt keine Garantie dafür, dass eine Protokolldatei für den Menschen lesbar ist. Zumindest einige der Dateien in /var/log/sind nicht. Welches Programm hat die Protokolldatei erstellt? Wie lautet der Dateiname?
Anthon
@Anthon Das ursprüngliche Protokoll sieht gut aus, ist aber nach der Protokollrotation durch daemontools nicht mehr für den Menschen lesbar.
Mingyu
Wurde es durch die Drehung komprimiert? Haben Sie den fileBefehl für die Datei ausgeführt?
Anthon
@Anthon Der Dateityp ist data. Was bedeutet das?
Mingyu
1
Nachdem ich ausgeführt habe :set fileencoding=utf-8, wird fileausgegeben data. Wenn ich filegegen die ursprüngliche Protokolldatei starte, wird sie ausgegeben gzip compressed data, from Unix. Daher ist es die richtige Lösung, filezuerst zu starten :set, anstatt zu starten , was die Datei weiter durcheinander bringt.
Mingyu
Antworten:
32
Dies bedeutet, dass vimfestgestellt wurde, dass die Datei nicht mit dem von Ihrem Gebietsschema angegebenen Zeichensatz übereinstimmt, und dass eine Konvertierung durchgeführt wurde. Wenn Sie den Befehl :setvon innen ausführen vim:
Beachten Sie die letzten beiden Optionen fileencoding& fileencodings.
Die erste ist die für die aktuelle Datei verwendete Kodierung, die zweite ist eine durch Kommas getrennte Liste der erkannten Kodierungen.
Wenn Sie also sehen, dass die Nachricht Sie vimdarüber informiert, dass die Konvertierung der Datei von fileencodingnach abgeschlossen ist encoding.
Check out :help fileencodingoder :help encodingfür weitere Details.
Referenz
Ich habe den folgenden Thread gefunden, den ich als Quelle verwendet habe, als dies beantwortet wurde. Die ursprüngliche Site ist jetzt weg (zugänglich in der Geschichte dieser Antwort), daher verschiebe ich den Inhalt dieses Threads hierher, um der Nachwelt willen. Der Link befand sich noch in der Wayback-Maschine .
#1 Eli the Bearded January 21st, 2004 - 06:51 pm ET | Report spam
In comp.os.linux.misc, Leon. wrote:
Hide the quote
"Gaétan Martineau" wrote in message
news:E9jLb.2903$
> [ system_notes]$ vi installation_chouette.txt
> What means the [converted] at the bottom of the screen, as in:
> "installation_chouette.txt" [converted] 2576L, 113642C
It means that vim detected that the file did not match the
charset given by your locale and made a conversion. What does
:set
Tell you about "fileencoding" and "fileencodings"? The first is
the encoding used for the current file, the second is a comma
separated list of recognized encodings.
Hide the quote
> This file has accented characters. How can I save the file so that if I
> reload if again, I do not see "converted"?
Figure out what charset you want, and then
:set fileencoding=[charset]
:w
Hide the quote
It means deleting the Microsoft Dos/ Windows CR LF end of lines, to just
LF - unix standard end of lines.
It does not. If you open a file with DOS line ends, vim reports [dos]
after the filename, not [converted]. If you do have a dos file that
you wish to convert to unix line ends, you can
:set fileformat=unix
:w
Elijah
[converted] conversion from 'fileencoding' to
'encoding' done
Im Allgemeinen bedeutet dies, dass vim erkannt hat, dass die Datei nicht mit dem von Ihrem Gebietsschema angegebenen Zeichensatz übereinstimmt, und eine Konvertierung durchgeführt hat.
Um zu sehen , mehr Details, versuchen :help fileencoding, :help fileencodings.
Dies bedeutet, dass die Datei auf der Festplatte nicht denselben Zeichensatz wie der Speicherbereich von Vim verwendet und die Konvertierung von einer in die andere erfolgreich war. Drücken Sie die Escape-Taste und geben Sie diesen Befehl ein.
:set fileformat=unix
Speichern Sie die Datei und versuchen Sie es erneut.
/var/log/
sind nicht. Welches Programm hat die Protokolldatei erstellt? Wie lautet der Dateiname?file
Befehl für die Datei ausgeführt?data
. Was bedeutet das?:set fileencoding=utf-8
, wirdfile
ausgegebendata
. Wenn ichfile
gegen die ursprüngliche Protokolldatei starte, wird sie ausgegebengzip compressed data, from Unix
. Daher ist es die richtige Lösung,file
zuerst zu starten:set
, anstatt zu starten , was die Datei weiter durcheinander bringt.Antworten:
Dies bedeutet, dass
vim
festgestellt wurde, dass die Datei nicht mit dem von Ihrem Gebietsschema angegebenen Zeichensatz übereinstimmt, und dass eine Konvertierung durchgeführt wurde. Wenn Sie den Befehl:set
von innen ausführenvim
:Beachten Sie die letzten beiden Optionen
fileencoding
&fileencodings
.Die erste ist die für die aktuelle Datei verwendete Kodierung, die zweite ist eine durch Kommas getrennte Liste der erkannten Kodierungen.
Wenn Sie also sehen, dass die Nachricht Sie
vim
darüber informiert, dass die Konvertierung der Datei vonfileencoding
nach abgeschlossen istencoding
.Check out
:help fileencoding
oder:help encoding
für weitere Details.Referenz
Ich habe den folgenden Thread gefunden, den ich als Quelle verwendet habe, als dies beantwortet wurde. Die ursprüngliche Site ist jetzt weg (zugänglich in der Geschichte dieser Antwort), daher verschiebe ich den Inhalt dieses Threads hierher, um der Nachwelt willen. Der Link befand sich noch in der Wayback-Maschine .
quelle
Geben Sie im
vim
Befehlsmodus Folgendes ein:Du kannst sehen:
Im Allgemeinen bedeutet dies, dass vim erkannt hat, dass die Datei nicht mit dem von Ihrem Gebietsschema angegebenen Zeichensatz übereinstimmt, und eine Konvertierung durchgeführt hat.
Um zu sehen , mehr Details, versuchen
:help fileencoding
,:help fileencodings
.quelle
Dies bedeutet, dass die Datei auf der Festplatte nicht denselben Zeichensatz wie der Speicherbereich von Vim verwendet und die Konvertierung von einer in die andere erfolgreich war. Drücken Sie die Escape-Taste und geben Sie diesen Befehl ein.
Speichern Sie die Datei und versuchen Sie es erneut.
quelle