Cosa significa [convertito] nella parte inferiore di VIM?


38

Ho un file di registro e quando lo apro tramite VIM, sembra non leggibile e ha [convertito] in fondo. Cosa significa [convertito]?

C'è un modo per risolvere il problema del formato in modo che sia leggibile dall'uomo?


Non è garantito che un file di registro sia leggibile umanamente. Almeno alcuni dei file /var/log/non lo sono. Quale programma ha creato il file di registro? Qual è il nome del suo file?
Anthon,

@Anthon Il registro originale sembra buono, ma dopo la rotazione del registro da parte dei demoni, non è più leggibile dall'uomo.
Mingyu,

È stato compresso dalla rotazione. Hai eseguito il filecomando sul file?
Anthon,

@Anthon Il tipo di file è data. Cosa significa?
Mingyu,

1
Dopo che corro :set fileencoding=utf-8, fileuscite data. Quando corro filecontro il file di registro originale, viene generato gzip compressed data, from Unix. Pertanto, la soluzione corretta è eseguire fileprima anziché eseguire :set, il che crea un ulteriore errore nel file.
Mingyu,

Risposte:


32

Significa che ha vimrilevato che il file non corrispondeva al set di caratteri fornito dalle impostazioni internazionali e ha effettuato una conversione. Se esegui il comando :setdall'interno 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

Nota le ultime 2 opzioni, fileencoding& fileencodings.

La prima è la codifica utilizzata per il file corrente, la seconda è un elenco separato da virgole di codifiche riconosciute.

Quindi quando vedi quel messaggio vimti dice che è stato completato convertendo il file da fileencodingin encoding.

Scopri :help fileencodingo :help encodingper ulteriori dettagli.

Riferimento

Ho trovato il thread qui sotto, che ho usato come fonte quando ho avuto risposta. Il sito originale è ora sparito (accessibile nella storia di questa risposta), quindi sto spostando i contenuti di quella discussione qui per amor dei posteri. Il collegamento era ancora nella Wayback Machine .

#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

12

In vimmodalità comando, digitare:

:help read-messages

Puoi vedere:

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

In generale, significa che vim ha rilevato che il file non corrispondeva al set di caratteri fornito dalle impostazioni internazionali e ha effettuato una conversione.

Per visualizzare maggiori dettagli, prova :help fileencoding, :help fileencodings.


2

Significa che il file su disco non utilizza lo stesso set di caratteri dell'area di memoria di Vim e che la conversione dall'uno all'altro ha avuto esito positivo. Premere il tasto Esc e digitare questo comando.

:set fileformat=unix

Salvare il file e riprovare a leggere.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.