Co oznacza [konwertowany] na dole vima?

38

Mam plik dziennika, a kiedy otwieram go za pomocą vima, wygląda on nieczytelnie i na dole [przekonwertował]. Co oznacza [konwertowany]?

Czy istnieje sposób na rozwiązanie problemu z formatem, aby był czytelny dla człowieka?

Mingju
źródło
Nie ma gwarancji, że plik dziennika jest czytelny dla ludzi. Przynajmniej niektóre pliki /var/log/nie są. Który program utworzył plik dziennika? Jaka jest jego nazwa pliku?
Anthon
@Anthon Oryginalny dziennik wygląda dobrze, ale po rotacji dziennika przez Daemontools przestaje być czytelny dla człowieka.
Mingyu
Czy został skompresowany przez obrót. Czy uruchomiłeś filepolecenie w pliku?
Anthon
@Anthon Typ pliku to data. Co to znaczy?
Mingyu
1
Po biegnę :set fileencoding=utf-8, filewyjścia data. Kiedy uruchamiam fileoryginalny plik dziennika, generuje on dane wyjściowe gzip compressed data, from Unix. Dlatego właściwym rozwiązaniem jest uruchomienie filenajpierw zamiast uruchomienia :set, co dodatkowo popsuwa plik.
Mingyu

Odpowiedzi:

32

Oznacza to, że vimwykrył, że plik nie pasuje do zestawu znaków podanego przez twoje ustawienia regionalne i dokonał konwersji. Jeśli uruchomisz polecenie :setz poziomu vim:

:set
--- Options ---
  autoindent          fileformat=dos      scroll=7            textwidth=70
  background=dark     filetype=asciidoc   shiftwidth=2        ttyfast
  cscopetag           helplang=en         softtabstop=2       ttymouse=sgr
  cscopeverbose       hlsearch            syntax=asciidoc
noendofline           list                tabpagemax=3
  expandtab           ruler               textmode
  backspace=indent,eol,start
  comments=s1:/*,ex:*/,://,b:#,:%,:XCOMM,fb:-,fb:*,fb:+,fb:.,fb:>
  cscopeprg=/usr/bin/cscope
  fileencoding=utf-8
  fileencodings=ucs-bom,utf-8,latin1

Zwróć uwagę na 2 ostatnie opcje fileencodingi fileencodings.

Pierwszy to kodowanie używane w bieżącym pliku, drugi to rozdzielona przecinkami lista rozpoznanych kodowań.

Więc kiedy widzisz, że wiadomość vimjest informacją, że zakończyła konwersji pliku z fileencodingdo encoding.

Sprawdź :help fileencodinglub :help encodingdodatkowe informacje.

Odniesienie

Znalazłem wątek poniżej, którego użyłem jako źródła, kiedy na nie odpowiedziano. Oryginalna strona już nie istnieje (dostępna w historii tej odpowiedzi), więc przenoszę zawartość tego wątku tutaj ze względu na potomstwo. Związek był jeszcze w Wayback Maszynie .

#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
slm
źródło
12

W vimtrybie poleceń wpisz:

:help read-messages

Możesz zobaczyć:

[converted]      conversion from 'fileencoding' to
                 'encoding' done

Ogólnie oznacza to, że vim wykrył, że plik nie pasuje do zestawu znaków podanego przez twoje ustawienia regionalne i dokonał konwersji.

Aby uzyskać więcej informacji, spróbuj :help fileencoding, :help fileencodings.

Cuonglm
źródło
2

Oznacza to, że plik na dysku nie używa tego samego zestawu znaków, co obszar pamięci Vima i że konwersja z jednej na drugą zakończyła się powodzeniem. Naciśnij klawisz Escape i wpisz to polecenie.

:set fileformat=unix

Zapisz plik i spróbuj ponownie.

Ramesh
źródło