utf-8로 바꾸는 중 서버에서 파일 편집할 때 한글 좀 되게 해주&
최근 해야될 과제가 많은고로 괜시리 과제가 아닌 다른 것들을 집적대기 시작했습니다. 그 중에서 주변의 여러 환경을 euc-kr에서 utf-8로 바꾸고 있는데 서버에 들어가서 vi로 파일을 편집하려면 한글 입력이 안됩니다.
현재 환경은
클라이언트 데비안 시드
/etc/locale.gen 파일 내용
---------------------------------
en_US ISO-8859-1
ko_KR.EUC-KR EUC-KR
ko_KR.UTF-8 UTF-8
en_US.UTF-8 UTF-8
---------------------------------
서버(데비안 stable) 쪽에도 /etc/locale.gen 에
--------------------------------
en_US ISO-8859-1
ja_JP.EUC-JP EUC-JP
ko_KR.EUC-KR EUC-KR
en_US.UTF-8 UTF-8
ko_KR.UTF-8 UTF-8
---------------------------------
와 같이 되어 있습니다.
그리고 "송효진"님의 글 보고서 서버의 /etc/vim/vimrc.local 에
------------------------------------------------------
" ---Locale settings
" Try to come up with some nice sane GUI fonts. Also try to set a sensible
" value for fileencodings based upon locale. These can all be overridden in
" the user vimrc file.
if v:lang =~? "^ko"
set fileencodings=euc-kr
set fileencoding=euc-kr
set guifontset=-*-*-medium-r-normal--16-*-*-*-*-*-*-*
elseif v:lang =~? "^ja_JP"
set fileencodings=euc-jp
set fileencoding=euc-jp
set guifontset=-misc-fixed-medium-r-normal--14-*-*-*-*-*-*-*
elseif v:lang =~? "^zh_TW"
set fileencodings=big5
set fileencoding=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=gb2312
set fileencoding=gb2312
set guifontset=*-r-*
endif
" If we have a BOM, always honour that rather than trying to guess.
if &fileencodings !~? "ucs-bom"
set fileencodings^=ucs-bom
set fileencoding=ucs-bom
else
set fileencodings+=ucs-bom
endif
" Always check for UTF-8 when trying to determine encodings.
if &fileencodings !~? "utf-8"
set fileencodings^=utf-8
set fileencoding=utf-8
else
set fileencodings+=utf-8
endif
" Make sure we have a sane fallback for encoding detection
set fileencodings+=default
" ---
"set background=dark
set tabstop=4
set showmatch
set shiftwidth=4
set smartindent
set showcmd
set confirm
set incsearch
set ignorecase
......이하 모두 배껴 넣었음
---------------------------------
을 집어 넣었는데
서버에 로그인해서 vi 하고 한글을 입력하려면
화성인들의 글자가 나옵니다.
또 무엇을 해야 하나요?
서버로 연결하는데 사용하는 제 데스크탑 클라이언트에서는 vi로 한글 편집이 잘 되고 있습니다.
utf-8
흠.. 보기에는 서버는 UTF-8로 설정하시고, VIM은 euc-kr로 설정하신 듯 하군요.
dpkg-reconfigure locales 에서 Default Locale을 ko_KR.UTF-8로 설정하셨다면,
홈디렉토리에서 .vimrc 파일에 다음과 같은 한줄을 넣는 것으로 UTF-8과 EUC-KR로 저장된 파일을 자동으로 읽을 수 있습니다.
set fileencodings=ucs-bom,utf-8,euc-kr,latin1
나오는 순서가 중요합니다.
그리고, 윈도우즈에서 서버에 접속해 작업하시려면, UTF-8을 지원하는 한글 Putty 등을 받아서 설정을 utf-8로 바꾸고 사용하시면 됩니다.
만약 저렇게 지정해도 안보이는 경우라면, 위의 설정에 덧붙여 다음과 같이 해보세요.
set encoding=utf-8
위의 것은 화면에 보여지는 버퍼의 encoding을 설정하는 것입니다.
참고로 앞의 fileencodings 설정은 파일의 encoding을 읽어들일때 저 순서로 검사해서 판단하겠다는 것입니다.
음.. fileencoding을 설정하면 fileencoding에 지정된 encoding으로 저장됩니다. (fileencodings와 fileencoding은 구분하세요.)
현재의 vim 창에서 :set 만 하시면 현재 설정들이 보여집니다.
Be Creative For Fun!!
너무나 감사합니다.set encoding=utf-8 을 ~/.vimr
너무나 감사합니다.
set encoding=utf-8 을 ~/.vimrc 에 추가했더니 잘 됩니다.
다시한번 감사드립니다.
George double you Bush has two brains, the left and the right, like normal people. But the problem is that there is nothing right in his left brain and there is nothing left in his right brain"
댓글 달기