|
发表于 2005-4-17 22:01:34
|
显示全部楼层
用这个,自动选择字符编码的vimrc/gvimrc:
- " multi-encoding setting
- if has("multi_byte")
- "set bomb
- set fileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,latin1
- " CJK environment detection and corresponding setting
- if v:lang =~ "^zh_CN"
- " Use cp936 to support GBK, euc-cn == gb2312
- set encoding=cp936
- set termencoding=cp936
- set fileencoding=cp936
- elseif v:lang =~ "^zh_TW"
- " cp950, big5 or euc-tw
- " Are they equal to each other?
- set encoding=big5
- set termencoding=big5
- set fileencoding=big5
- elseif v:lang =~ "^ko"
- " Copied from someone's dotfile, untested
- set encoding=euc-kr
- set termencoding=euc-kr
- set fileencoding=euc-kr
- elseif v:lang =~ "^ja_JP"
- " Copied from someone's dotfile, untested
- set encoding=euc-jp
- set termencoding=euc-jp
- set fileencoding=euc-jp
- endif
- " Detect UTF-8 locale, and replace CJK setting if needed
- if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
- set encoding=utf-8
- set termencoding=utf-8
- set fileencoding=utf-8
- endif
- else
- echoerr "Sorry, this version of (g)vim was not compiled with multi_byte"
- endif
复制代码
绝对有用,也是论坛上搜到的。忘了作者了,不好意思。
注:我的locale:
[~]$ locale
LANG=en_US.utf8
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE=C
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL= |
|