¿Qué significa [convertido] en la parte inferior de vim?


38

Tengo un archivo de registro, y cuando lo abro a través de vim, no parece legible, y se ha [convertido] en la parte inferior. ¿Qué significa [convertido]?

¿Hay alguna forma de solucionar el problema de formato para que sea legible por humanos?


No hay garantía de que un archivo de registro sea legible por humanos. Al menos algunos de los archivos /var/log/no están. ¿Qué programa hizo el archivo de registro? ¿Cuál es su nombre de archivo?
Anthon

@Anthon El registro original se ve bien, pero después de la rotación del registro por daemontools, ya no es legible para los humanos.
Mingyu

¿Se comprimió por la rotación? ¿Ejecutó el filecomando en el archivo?
Anthon

@Anthon El tipo de archivo es data. Qué significa eso?
Mingyu

1
Después de correr :set fileencoding=utf-8, filesalidas data. Cuando corro filecontra el archivo de registro original, sale gzip compressed data, from Unix. Por lo tanto, la solución adecuada es ejecutar fileprimero en lugar de ejecutar :set, lo que complica aún más el archivo.
Mingyu

Respuestas:


32

Significa que vimdetectó que el archivo no coincidía con el conjunto de caracteres proporcionado por su configuración regional e hizo una conversión. Si ejecuta el comando :setdesde dentro 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

Observe las últimas 2 opciones, fileencoding& fileencodings.

La primera es la codificación utilizada para el archivo actual, la segunda es una lista separada por comas de codificaciones reconocidas.

Entonces, cuando vea que el mensaje vimle dice que se ha completado la conversión del archivo de fileencodinga encoding.

Echa un vistazo :help fileencodingo :help encodingpara más detalles.

Referencia

Encontré el hilo a continuación, que utilicé como fuente cuando esto fue respondido. El sitio original ya no está (accesible en el historial de esta respuesta), así que muevo el contenido de ese hilo aquí por razones de posteridad. El enlace todavía estaba en la máquina Wayback .

#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

En el vimmodo de comando, escriba:

:help read-messages

Puedes ver:

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

En general, significa que vim detectó que el archivo no coincidía con el conjunto de caracteres proporcionado por su configuración regional e hizo una conversión.

Para ver más detalles, trate :help fileencoding, :help fileencodings.


2

Significa que el archivo en el disco no usa el mismo juego de caracteres que el área de memoria de Vim, y que la conversión de uno a otro fue exitosa. Presione la tecla de escape y escriba este comando.

:set fileformat=unix

Guarde el archivo e intente leer nuevamente.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.