[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ubuntu如何在vi中显示中文



Jason
按你说的做了,vi/vim就可以正常显示中文了。可是不管是more还是less还是cat还是tail似乎还有问题,

终端我用的是gnome-terminal,可以确认终端字符编码是"当前区域(UTF-8)",并且,我将一个文本文件,使用别的编辑器另存了三种不同的编码格式,分别是UTF-8,UTF-8 signature(<--这种方式我没见过),GB2312。然后再用more, less, cat, tail显示其内容,结果还是乱码。

另外,按Jason修改了vi/vim的设置后,仍然可以正常的显示刚才保存的UTF-8和UTF-8 signature两种格式。可是打开GB2312时,显示的又是乱码了。

感谢所有帮助我的人,谢谢!

在06-9-28,Jason < catinsnow@gmail.com> 写道:

试试拷贝以下内容到 ~/.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





--
01010110 01100101 01110010 01101110
Reply to: