Windows 7에서 Gvim 및 VIM으로 유니 코드를 입력 할 수 없음


11

(g) Vim을 사용하여 다른 언어로 입력하고 싶습니다. 그러나 입력 도구 모음 (Devanagari 또는 Hindi 문자)을 사용하여 다른 언어로 전환하고 아무 것도 입력하면 (g) vim이 표시됩니다 ??? ??.

내가 시도한 것 :

write ++enc=utf-8 foo.txt  
set fileencoding=utf-8   
set enc=utf-8

정보:

  • GVim 버전 : 7.4 및 + multi_byte.
  • 기본 vimrc 파일에는 변경 사항이 없습니다.

방금 (g) vim으로 시작했습니다.


5
글꼴 일 수 있습니다. 어떤 글꼴을 사용하고 있습니까?
muru

1
7 개의 글꼴 (콘솔 라, 2 개의 택배, 2 개의 lucida, fixedsys 및 터미널)이 gvim에 나열되어 있습니다. 나는 그들 모두를 시도했다. 내 시스템이 너무 다른 글꼴,하지만 gvim을 표시가있는 동안 만 7. 또한 다음 : stackoverflow.com/questions/3766204/vim-doesnt-support-unicode 하지만 여전히 행운을.
msinfo

3
"다른 언어"는 다소 모호합니다. 어떤 언어? 광택? 헤브라이 사람? 중국말? 클링 온? 모호한 언어를 사용하는 경우 해당 언어를 지원하는 글꼴이 없을 수 있습니다.
Martin Tournoij

1
제 경우에는 우분투 모노 글꼴 로 GVim 7.4.800 (또는 그 주변)으로 Malayalam을 사용하고 있습니다. 샘플 텍스트는 Malayalam Wikipedia를 참조하십시오 . Linux (Ubuntu 및 Arch)에서 터미널 및 GVim 글꼴이 Ubuntu Mono로 설정되어 있으면 Malayalam이 약간 찌그러져도 표시됩니다. 두 번째 주석에서 언급 한 다른 글꼴 msinfo를 사용해 보았습니다.
muru

1
Linux에서는 Pango가 다른 글꼴에서 글리프를 가져와 모든 문자를 표시 할 수 있으므로 gvim에서 원하는 문자를 표시 할 수 있습니다. 그렇기 때문에 문자가 나머지 텍스트와 다르게 보이는 이유도 있습니다. xterm에서 같은 것을 시도하면 단일 글꼴이 사용되므로 모든 문자를 볼 수 없습니다. Windows에서 비슷한 일이 발생하고 있다고 생각합니다.
jamessan

답변:


5

기본 인코딩은 다음과 같습니다 latin1.

:set encoding?
  encoding=latin1

문자를 입력 할 때 Vim은 들어오는 문자 세트 (아마 유니 코드)에서 라틴 -1로 변환하려고 시도합니다. latin-1에 이러한 문자가 없으므로 실패합니다. 따라서 물음표.

기존 파일 (메모장 또는 다른 프로그램으로 저장)을 열면 Vim이 바이트를 읽고 라틴 -1 문자 세트에 따라 해석하려고하지만 라틴 -1 세트로 변환하지 않기 때문에 텍스트가 왜곡됩니다.

다음 utf-8과 같은 것을 사용하고 싶을 것입니다 .

:set encoding=utf-8

그 후 Malayalam 스크립트가 작동하는 것 같습니다.

참고 이 것 없는 기존 물음표 작업을합니다. 이 정말 있는 물음표 (문자로 변환 0x3f입력에). 입력 한 내용을 되돌릴 방법이 없습니다. 이것이 이것이이 질문의 혼란의 원인이라고 생각합니다.

도 참조하십시오 :help 'encoding'.

참고로, 글꼴에서 지원되지 않는 글리프는 일반적으로 별개의 글리프로 렌더링됩니다. 글꼴마다 다르지만 일반적으로 사각형 블록 또는 다른 스타일의 물음표입니다. g8문자 코드를 표시 하는 "실제"물음표와 지원되지 않는 글리프의 차이점을 확인할 수 있습니다 .


1
Devanagari 또는 Hindi 문자를 입력해야합니다. 인코딩이 이전에 latin1로 설정되었으며 제안에 따라 utf-8로 변경되었습니다. 그러나 여전히 Devanagari 또는 Hindi 문자는 보이지 않습니다. 그러나 VIM에서 브라우저 또는 메모장 ++로 해당 상자 (VIM에서 렌더링 한대로)를 복사하면 유니 코드 문자처럼 보입니다. 따라서 VIM은 인식하지만 표시 할 수 없습니다.
msinfo

1
@msinfo 어떤 Vim 버전을 사용하고 있습니까? 7.4는 언급했지만 패치 수준은 언급하지 않았습니까? vim.org에서 7.4.1024 사용했습니다 .
Martin Tournoij

1
vi.stackexchange.com/questions/2466/… 에서 귀하의 답변 중 하나를 찾으려고 노력했지만 패치되지 않은 것 같습니다 . Vim --version에는 패치 정보가 표시되지 않습니다. 설치 후 플러그인 또는 패치를 변경하지 않았습니다.
msinfo

4
@msinfo Vim 7.4는 거의 2 년 반 전에 출시되었습니다. 최신 버전을 설치하십시오. 어쩌면 그것이 필요한 전부입니까?
Martin Tournoij
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.