Що означає [перетворений] внизу vim?


38

У мене є файл журналу, і коли я відкриваю його через vim, він виглядає не читабельним, і він [перетворений] внизу. Що означає [перетворений]?

Чи є спосіб виправити проблему формату, щоб вона була зрозумілою для людини?


Немає гарантії, що файл журналу читається по-людськи. Принаймні деякі файли в /var/log/. Яка програма зробила файл журналу? Яке його ім'я файлу?
Антон

@Anthon Оригінальний журнал виглядає добре, але після обертання журналу daemontools він більше не читається людиною.
Mingyu

Чи стискалося воно обертанням. Ви виконали fileкоманду у файлі?
Антон

@Anthon Тип файлу є data. Що це означає?
Mingyu

1
Після запуску :set fileencoding=utf-8, fileвиводить data. Коли я запускаю fileоригінальний файл журналу, він виводить gzip compressed data, from Unix. Таким чином, правильне рішення - запустити fileспочатку замість запуску :set, що ще більше псує файл.
Mingyu

Відповіді:


32

Це означає, що vimвиявлено, що файл не відповідає шаблону, наданому вашою локальною службою, і здійснив конверсію. Якщо ви запускаєте команду :setзсередини 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

Зауважте останні два варіанти, fileencoding& fileencodings.

Перше - це кодування, що використовується для поточного файлу, друге - список відомих кодувань, розділених комами.

Отже, коли ви бачите, що це повідомлення vimговорить вам про те, що завершено перетворення файлу fileencodingв encoding.

Ознайомтесь :help fileencodingабо :help encodingотримайте додаткову інформацію.

Довідково

Нижче я знайшов нитку, яку я використав як джерело, коли на це відповіли. Оригінальний веб-сайт відсутній (доступний в історії цієї відповіді), тому я переміщу вміст цієї теми сюди заради нащадків. Зв'язок була ще в 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

У vimкомандному режимі введіть:

:help read-messages

Ти можеш бачити:

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

Загалом це означає, що виявлений vim файл не відповідав наборовій схемі, наданій вашою локальною службою, і здійснив конверсію.

Щоб побачити більше деталей, спробуйте :help fileencoding, :help fileencodings.


2

Це означає, що файл на диску не використовує таку саму схему, що і область пам'яті Vim, і що перетворення з однієї в іншу було успішною. Натисніть клавішу Escape і введіть цю команду.

:set fileformat=unix

Збережіть файл і спробуйте прочитати ще раз.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.