VIM 에디터에서 유니코드 utf8 파일 열기..

nonots의 이미지

서버가 euckr 완성형인데..
제로보드 XE 같은..요즘 나오는건 utf8 로 된 파일들이 많다..
..
리눅스 서버에 원격으로 ssh 터미널 로 연결해서 작업할때
이런 파일은 vi 에서 깨진다..

[root@home6 ~]# cat ~/.vimrc
:set nu
:set ic
:set ts=4
:set sw=4

[root@home6 ~]# cat ~/.vimrc_utf8
syntax on
:set nu
:set ic
:set ts=4
:set sw=4

:set fileencodings=utf-8,euc-kr
:set encoding=utf-8
:set termencoding=euc-kr
:set fencs=utf-8,cp949,euc-kr,iso-8859-1

[root@home6 ~]# alias | grep viu
alias viu='vi -u ~/.vimrc_utf8'

위와 같이 .vimrc_utf8 이라는 .. 유니코드 설정정보 파일을 만든후
alias 에서 vi 시작시 -u 옵션으로 설정파일을 불러오게 실행하게
viu 라는 걸 만들어서..

완성형 파일은 vi , utf8 파일은 viu 명령어로
열고 있다..

좀더 쌈박한 방법없나...

rustykey7의 이미지

먼저, fileencodings 와 fencs 는 같은 옵션입니다. fencs 덕에 위의 fileencodings 는 무효화됩니다.
그리고, cp949 는 euc-kr 을 포함합니다. 두개를 같이 써주실 필요가 없습니다.
또한, viu 로 완성형 파일을 열어도 될것 같은데요?
그냥 vimrc 파일에 fencs 설정만 잘 해두시면 굳이 구분할 필요가 없을텐데요.

nonots의 이미지

그렇군요..
머리가 나쁘면 손발이 고생한다는 .. -_-;;

:set fencs=utf-8,cp949,iso-8859-1

이 한줄을 .vimrc 에 넣어주니 vi 에서 둘다 열리는군요..
그런데.. 텍스트 파일을 새로 생성할때.. 무조건 utf8 로 생성되는거 아닌가요?
파일생성시 문자셋은 어떻게 정하나요?

=== 건달의 경지를 꿈꾸며 ===


=== 건달의 경지를 꿈꾸며 ===

김정균의 이미지

if v:lang =~ "^ko"
   set fileencodings=cp949,utf-8
   set guifontset=-*-*-medium-r-normal--16-*-*-*-*-*-*-*
elseif v:lang =~ "^ja_JP"
   set fileencodings=utf-8,euc-jp
   set guifontset=-misc-fixed-medium-r-normal--14-*-*-*-*-*-*-*
elseif v:lang =~ "^zh_TW"
   set fileencodings=utf-8,big5
   set guifontset=-sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-1,-taipei-fixed-medium-r-normal--16-150-75-75-c-160-big5-0
elseif v:lang =~ "^zh_CN"
   set fileencodings=utf-8,gb2312
   set guifontset=*-r-*
endif
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
   set fileencodings=utf-8,latin1
endif

대충 이렇게 해 놓으시면, 신규 생성은 euc-kr 로 되고, utf8 파일을 열고 저장하는 데도 지장이 없습니다.

utf8 로 저장을 하고 싶으시다면 문서 작성 후에,

:set fileencoding=utf8
:wq

하시면 utf8로 변환되어 저장이 됩니다. utf8 파일을 수정하고 저장할 경우에는 그냥 아무 생각 없이 사용하시면 됩니다.

신규 생성시에, utf8 로 저장되게 하려면

set fileencodings=cp949,utf-8

부분을

set fileencodings=utf-8,cp949

와 같이 수정해 주시면 됩니다.