[Dönüştürülen] vim altındaki ne anlama geliyor?


37

Bir günlük dosyasına sahibim ve onu vim ile açtığımda okunamıyor gibi görünüyor ve altta [dönüştürülmüş]. [Dönüştürülmüş] ne anlama geliyor?

Biçim sorununu insan tarafından okunabilecek şekilde düzeltmenin bir yolu var mı?


Bir günlük dosyasının insanca okunabilir olduğuna dair hiçbir garanti yoktur. En azından dosyaların /var/log/bazıları değil. Günlük dosyasını hangi program yaptı? Dosya adı nedir?
Anthon

@Anthon Orijinal kütük iyi görünüyor, ancak daemontools tarafından kütük döndürme işleminden sonra, artık insan tarafından okunamıyor.
Mingyu

Döndürme tarafından sıkıştırıldı. fileKomutu dosyada çalıştırdın mı?
Anthon

@Anthon dosya türüdür data. Bu ne anlama geliyor?
Mingyu

1
Ben çalıştırdıktan sonra :set fileencoding=utf-8, fileçıkışlar data. fileOrijinal günlük dosyasına karşı çalışırken , çıktı gzip compressed data, from Unix. Bu nedenle, uygun çözüm, dosyayı daha da bozan file, çalışma yerine ilk önce çalıştırılmasıdır :set.
Mingyu

Yanıtlar:


31

Bu vim, dosyanın yerel ayarlarınız tarafından verilen karakter kümesiyle eşleşmediğini ve bir dönüşüm gerçekleştirdiğini gösterir. Komutu :setiçinden çalıştırırsanız 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

Son 2 seçeneğe dikkat edin, fileencoding& fileencodings.

Birincisi, geçerli dosya için kullanılan kodlama, ikincisi ise tanınan kodlamaların virgülle ayrılmış listesidir.

Yani bu mesaj gördüğünüzde vimondan dosya dönüştürme tamamlanmadan belirten edilmektedir fileencodingiçin encoding.

Ek ayrıntılar için göz atın :help fileencodingveya :help encodingbakın.

Referans

Cevaplandığında kaynak olarak kullandığım konuyu aşağıda buldum. Orijinal site artık gitti (bu cevap tarihçesinde erişilebilir), bu yüzden şu an için hatırladım o konunun içeriğini buraya taşıyorum. Bağlantı Wayback Machine hâlâ .

#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

11

Gelen vimkomut modu, yazın:

:help read-messages

Görebilirsin:

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

Genel olarak, vim'in dosyanın yerel ayarlarınız tarafından verilen karakter kümesiyle eşleşmediğini tespit ettiği ve bir dönüşüm yaptığı anlamına gelir.

Daha fazla ayrıntı, denemek görmek için :help fileencoding, :help fileencodings.


2

Bu, diskteki dosyanın Vim'in bellek alanıyla aynı karakter dizisini kullanmadığı ve bir kişiden diğerine dönüşümün başarılı olduğu anlamına gelir. Escape tuşuna basın ve bu komutu yazın.

:set fileformat=unix

Dosyayı kaydedin ve tekrar okumayı deneyin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.