윈도우 gvim 사용시 파일 encoding 문제입니다.

나그네나그네의 이미지

utf-8로 작성된 문서가 있는데, set encoding=utf8로 바꾸면 vim 본문에 있는 글은 제대로 나오나 vim에서 나오는 한글 메시지가 깨집니다.

이 경우엔 어떻게 해야 하는지요 -_-;; 고수님들의 지식나눔 부탁드립니다 :)

ktd2004의 이미지

encoding이 아니라 fileencoding을 사용해 보시면 어떨까요?

마잇의 이미지

fileencodings - fencs
fileencoding - fenc
encoding

파일 인코딩 관련 설정이 이렇게 세가지가 있습니다. 보통 첫번째 fencs만 잘 설정 하시면 윈도우즈에서 작성된 CP949 인코딩의 한글 문서도 문제 없이 사용 가능 합니다.

fencs 기본값이 "ucs-bom,utf-8,default,latin1" 이렇게 되어 있는데 한글의 경우는 제일 뒤에 latin1을 빼고 cp949를 넣어 주면 됩니다.

set fencs-=latin1
set fencs+=cp949

fencs를 설정할 때는 순서가 중요 합니다. 기본값 중 앞에 세개는 건드릴 필요가 아마 없을 겁니다.

질문을 다시 보니 이걸 물어 보신게 아니네요.

vim을 utf-8아닌 euc-kr같은 환경에서 실행 되어서 utf-8 문서가 깨져 보인다는 상황이신 것 같습니다.

일단은 set fencs? 하셔서 fencs가 어떻게 설정 되었는지 확인해 보셔야 할 것 같습니다.

파일을 읽을 때 fencs에 지정된 순서에 따라 시도해서 적절한 인코딩이 결정 되고 fenc도 그에 맞춰 변경 됩니다. 저장할 때는 fenc에 지정된 인코딩으로 저장 됩니다. cp949로 읽어 들였어도 fenc를 utf-8로 바꾸고 저장하면 utf-8로 저장 됩니다.

새로운 파일을 만들 때는 encoding 옵션에 따라 결정 되고, fenc 옵션을 명시적으로 지정한 경우는 fenc 설정이 우선권을 갖습니다.

encoding은 시스템 LANG 환경 변수에 따라 결정 됩니다. 이건 건들지 맙시다.

요약:

  • encoding은 건들지 않는다.
  • 읽기에 문제가 있으면 제일 먼저 fencs 설정을 확인 한다. "ucs-bom,utf-8,default,[자주 쓰는 인코딩]" - 순서 중요하다.
  • 새로 생성하는 파일의 기본 인코딩을 바꾸고 싶으면 vimrc에 set fenc=[인코딩]이라고 명시적으로 설정 한다.
  • 현재 파일을 다른 인코딩으로 저장하고 싶다면 fenc 설정을 바꾼 후 저장한다.
  • fenc, fencs 이 둘을 헷갈리지 말자. 끝에 's'에 주의한다.


--
마잇

raymundo의 이미지

이론상(?)으로는 encoding 옵션은 건드릴 필요가 없는 게 맞는데...

윈도우 gvim 에서 UTF-8 문서를 볼 때는 뜻대로 되지 않는 경우가 많이 발생하더군요.

저도 똑같은 문제를 겪었었고, vim의 메세지가 깨지는 부분은 아래 질문글의 답글에 있는
파일들을 추가로 설치해서 해결했습니다.
http://kldp.org/node/128887
http://gypark.pe.kr/wiki/ViEditor (1.11과 1.12에 정리)

좋은 하루 되세요!

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.