vim의 하단에서 [변환 된]은 무엇을 의미합니까?


37

로그 파일이 있는데 vim을 통해 열면 읽을 수 없으며 맨 아래에 [변환]되어 있습니다. [전환 된]은 무슨 뜻입니까?

사람이 읽을 수 있도록 형식 문제를 해결하는 방법이 있습니까?


로그 파일을 사람이 읽을 수 있다는 보장은 없습니다. 파일 중 적어도 일부 /var/log/는 그렇지 않습니다. 어떤 프로그램이 로그 파일을 만들었습니까? 파일 이름은 무엇입니까?
Anthon

@Anthon 원래 로그는 좋아 보이지만 daemontools에 의한 로그 회전 후에는 더 이상 사람이 읽을 수 없습니다.
Mingyu

회전에 의해 압축 되었습니까? file파일 에서 명령 을 실행 했습니까 ?
Anthon

@Anthon 파일 형식은 data입니다. 그게 무슨 뜻이야?
Mingyu

1
내가 실행 한 후 :set fileencoding=utf-8, file출력 data. file원본 로그 파일에 대해 실행 하면을 출력 gzip compressed data, from Unix합니다. 따라서 올바른 해결책은 run file대신 먼저 실행하는 것입니다 :set. 그러면 파일이 더 손상됩니다.
Mingyu

답변:


31

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

마지막 2 개의 옵션 fileencoding&을 확인하십시오 fileencodings.

첫 번째는 현재 파일에 사용 된 인코딩이고 두 번째는 쉼표로 구분 된 인식 된 인코딩 목록입니다.

메시지 vim가 표시 되면 파일을에서 (으) fileencoding로 변환이 완료 되었다는 메시지 가 표시 됩니다 encoding.

자세한 내용을 확인 :help fileencoding하거나 확인 :help encoding하십시오.

참고

아래의 스레드를 찾았습니다.이 스레드가 응답했을 때 소스로 사용했습니다. 원래 사이트는 이제 사라졌습니다 (이 답변의 역사에서 액세스 가능). 나는 그 스레드의 내용을 후손을 위해 여기로 옮깁니다. 링크는 뒤로 기계에 여전히 .

#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

에서 vim명령 모드, 입력 :

:help read-messages

너는 볼 수있어:

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

일반적으로 이는 vim이 파일이 로케일이 제공 한 문자 세트와 일치하지 않음을 감지하여 변환 함을 의미합니다.

자세한 내용은, 시도를 보려면 :help fileencoding, :help fileencodings.


2

이는 디스크상의 파일이 Vim의 메모리 영역과 동일한 문자 세트를 사용하지 않으며, 하나에서 다른 것으로의 변환에 성공했음을 의미합니다. 이스케이프 키를 누르고이 명령을 입력하십시오.

:set fileformat=unix

파일을 저장하고 다시 읽으십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.