Vim의 기본 인코딩을 UTF-8로 설정하는 방법은 무엇입니까?

Vim의 기본 인코딩을 UTF-8로 설정하는 방법은 무엇입니까?

번역된 문자열을 제공하여 오픈소스 프로젝트에 기여하고 싶습니다. 요구 사항 중 하나는 기여자가 인코딩으로 UTF-8을 사용해야 한다는 것입니다.구매 주문서.

저는 Linux에서 Vim 7.3을 사용하고 있습니다. PO 파일을 올바른 방식으로 편집하고 저장할 수 있도록 Vim의 인코딩이 UTF-8로 설정되어 있는지 어떻게 확인하나요?

답변1

Vim은 기존 파일을 읽을 때 파일 인코딩을 감지하려고 시도합니다. 파일을 작성할 때 Vim은 감지한 파일 인코딩을 사용합니다(다르게 지정하지 않는 한). 따라서 UTF-8로 감지된 파일은 UTF-8로 기록되고, Latin-1로 감지된 파일은 Latin-1로 기록되는 식입니다.

기본적으로 탐지 프로세스는 대략적입니다. Vim으로 연 모든 파일은 맨 위에서 유니코드 바이트 순서 표시를 감지하지 않는 한 Latin-1로 간주됩니다. 바이트 순서 표시가 없는 UTF-8 파일은 멀티바이트 문자가 개별 문자가 아닌 일련의 문자로 버퍼에 나타나기 때문에 편집하기 어렵습니다.

설상가상으로 Vim은 기본적으로 Latin-1을 사용하여 버퍼의 텍스트를 나타냅니다. 그래서 UTF-8 파일그리고바이트 순서 표시는 Latin-1로의 하향 변환으로 인해 깨집니다.

해결책은 내부적으로 UTF-8을 사용하도록 Vim을 구성하는 것입니다. 실제로 이는 Vim 문서에서 권장되는 사항이며, 기본적으로 구성되지 않은 유일한 이유는 Vim을 기본적으로 Latin-1 편집기로 실행하기를 원하는 사용자들 사이에 큰 혼란을 일으키지 않기 위해서입니다.

에 Vim을 .vimrc추가 set encoding=utf-8하고 다시 시작하세요.

또는 LANGUTF-8이 기본 문자 인코딩임을 나타내도록 환경 변수를 설정하십시오. 이는 Vim뿐만 아니라 LANG텍스트 표현 방법을 결정하는 모든 소프트웨어에 영향을 미칩니다. 예를 들어, 텍스트가 en미국에서 사용되는 영어( )로 표시되고 USUTF-8( utf-8) 로 인코딩 되어야 함을 나타내려면 를 설정합니다 LANG=en_US.utf-8.

Vim은 이제 UTF-8을 사용하여 버퍼의 텍스트를 나타냅니다. 또한 파일에서 UTF-8 인코딩을 더욱 확실하게 감지합니다. 바이트 순서 표시를 찾는 것 외에도 Latin-1로 돌아가기 전에 바이트 순서 표시가 없는 UTF-8도 확인합니다. 따라서 UTF-8로 인코딩된 파일은 더 이상 손상되지 않으며 UTF-8 문자는 편집 세션 중에 올바르게 표시되어야 합니다.

Vim이 파일 인코딩을 감지하는 방법에 대한 자세한 내용은 다음을 참조하세요.fileencodingsVim 문서의 옵션 .

Vim 내부적으로 사용되는 인코딩 설정에 대한 자세한 내용은 다음을 참조하세요.encoding 옵션.

파일을 디스크에 다시 쓸 때 사용되는 인코딩을 재정의해야 하는 경우 다음을 참조하세요.fileencoding 옵션.

답변2

~에 따르면vim 문서vim은 파일 인코딩을 자동으로 감지하려고 시도하므로 편집 중인 경우기존 파일행동을 잘해야 합니다.

원한다면 언제든지 강제로 인코딩할 수 있습니다 :set fileencodings=utf-8. 문서를 찾을 수 있습니다여기.

관련 정보