vim을 사용하여 파일을 utf8로 변환하려면 어떻게해야합니까?


답변:


179

latin1로 인코딩 된 파일을 편집하는 경우 해당 버퍼의 'fileencoding'이 latin1로 설정되어 있음을 알 수 있습니다. 따라서 파일을 저장하기 전에 파일 인코딩을 수동으로 설정해야합니다.

:set fileencoding=utf8
:w myfilename

또한 UTF8 파일은 종종 엔디안을 나타내는 BOM (Byte Order Mark)으로 시작됩니다. BOM은 선택 사항이지만 일부 프로그램 파일 인코딩을 결정하기 위해 독점적으로 사용. 특정 조건에서 Vim은 BOM을 작성하지만 때로는 작성하지 않습니다. BOM을 명시 적으로 설정하려면 다음을 수행하십시오.

:set bomb

자세한 내용 :help mbyte-options:help utf8:help bomb.


지침은 잘 작동하지만 : 1) utf-8에는 엔디안이 없습니다 ( vim help가 설명하는 것처럼 utf-8 BOM은 파일 utf-8 임을 나타냅니다 ). 2) 나중에 파일을 다시 열 때 다시 파일을 열어야합니다 set fileencoding=utf-8. Vim은 BOM을 작성하라고 명령 한 경우에도 인식하지 못합니다 (실제로 작성합니다). utf-8이 작동하도록하려면 set encoding=utf-8시작 설정에서 필요합니다 . 적어도 그것은 내 시스템의 이야기입니다.
Stein

35
:w ++enc=utf-8 %

utf-8 인코딩으로 파일을 디스크에 씁니다.


5
이것이 정확하지만 귀하의 답변은 Eric Johnson에 비해 너무 많은 찬성표를 수집해서는 안됩니다. 그 이유는 당신이 설정되지 않은 경우이다 fileencoding, (가) :w ++enc=utf-8유효 한 시간이지만 실행 다음 번에 :w,의 값을 'fileencoding'기대하고, 사용됩니다, 당신은 편집 명시 적으로있는 동안, 또는 파일을 다시로드 (를 변경하지 않은 경우 그 'fencs') 적절하게 설정하고 실제 인코딩이 잘으로 탐지, 기존의 인코딩은 다시 올 것이다.
Benoit 2012

1
@ MichaelKrelin-hacker, 변경 fileencoding은 또한 질문에 대한 유효한 대답이며 IMO는 나쁜 습관을 들이지 않습니다. 하지만 좋아요, 그건 그냥 기분의 문제라고 생각합니다.
Benoit

3
@Benoit, Eric의 대답이 유효하지 않다는 것을 암시하지 않았습니다! 나는 그의 대답에 대한 이상한 아무것도 찾을 경우, 내용은 아니지만, 오히려 왜 질문과 자신 :) 연속으로 빠르게 질문에 대한 답변을 게시 않았다
해커 - 마이클 Krelin

3
@Michael Krelin-해커 : FAQ를 확인하세요. 실제로 자신의 질문에 대답하는 것이 좋습니다. 이와 같은 Q & A 페이지의 요점입니다. 누가 대답하든 상관 없습니다.
0xC0000022L 2013

2
@ 0xC0000022L, 내가 마지막으로 확인했을 때 (지금 확인하지 않았 음), 조사를 수행 한 후 1 안에 질문과 답변을 게시하는 것이 아니라 해결책을 찾는 것에 대해 뭔가가있었습니다 . 즉, 나는 그의 대답에 대해 이상한 점 에 대해서만 이야기하고 있었고 그것이 무효화되거나 무언가로 만드는 것이 아닙니다.
Michael Krelin-해커
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.