现在的位置: 首页 > 综合 > 正文

VI编辑任何编码格式没有乱码

2012年02月06日 ⁄ 综合 ⁄ 共 4145字 ⁄ 字号 评论关闭
转载:http://www.linuxsir.org/bbs/showthread.php?t=179032&highlight=gvimrc
我的 locale 是 zh_CN.UTF-8

转换为繁体中文: 点菜单: [编辑] -》 [utf8 convert] -》[utf8->big5]

转换为简体中文: 点菜单: [编辑] -》 [utf8 convert] -》[utf8->gbk]

~/.gvimrc

PHP代码:


"set encoding=chinese

"
set langmenu=zh_CN.GBK

"set imcmdline

"
set guifont=Serif 14

"set guifont="Tangti 14"

set guifont=AR\ PL\ New\ Sung\ 14

"
set guifont=AR PL SungtiL GB 12

"source $VIMRUNTIME/delmenu.vim

"
source $VIMRUNTIME/menu.vim

an 20.4009        &Edit.-SEP6-                           <Nop>

an 20.4009.10      &Edit.MouseStype.&Xterm         :behave xterm<CR>

an 20.4009.11      &Edit.MouseStype.&MsWin         :behave mswin<CR>

an 20.4109        &Edit.-SEP7-                           <Nop>

an 20.4109.10      &Edit.Encoding.&GBK             :set encoding=gbk<CR>

an 20.4109.11      &Edit.Encoding.GB18030          :set encoding=gb18030<CR>

an 20.4109.12      &Edit.Encoding.&Big5            :set encoding=big5<CR>

an 20.4109.13      &Edit.Encoding.&UTF-8           :set encoding=utf-8<CR>

an 20.4109.14      &Edit.Encoding.UTF-16           :set encoding=utf-16<CR>

an 20.4109.15      &Edit.Encoding.EUC-&JP          :set encoding=euc-jp<CR>

an 20.4109.16      &Edit.Encoding.EUC-&KR          :set encoding=euc-kr<CR>

an 20.4119.10     &Edit.Fileencodings.&GBK        :set fileencodings=gbk<CR>

an 20.4119.11     &Edit.Fileencodings.GB18030     :set fileencodings=gb18030<CR>

an 20.4119.12     &Edit.Fileencodings.&Big5       :set fileencodings=big5<CR>

an 20.4119.13     &Edit.Fileencodings.&UTF-8      :set fileencodings=utf-8<CR>

an 20.4119.14     &Edit.Fileencodings.UTF-16      :set fileencodings=utf-16<CR>

an 20.4119.15     &Edit.Fileencodings.EUC-&JP     :set fileencodings=euc-jp<CR>

an 20.4119.16     &Edit.Fileencodings.EUC-&KR     :set fileencodings=euc-kr<CR>

an 20.4129        &Edit.-SEP9-                           <Nop>

"an 20.4119.11     &Edit.zh\ \ convert.gb->big5  :%!autogb -i gb -o big5<CR>

"an 20.4139     &Edit.zh convert.gb->gb      :%!autogb -i gb -o gb<CR>

an 20.4139     &Edit.gb convert.gb->big5    :%!autogb -i gb -o big5<CR>

an 20.4139     &Edit.gb convert.gb->hz      :%!autogb -i gb -o hz<CR>

an 20.4139     &Edit.gb convert.gb->utf8    :%!autogb -i gb -o utf8<CR>

an 20.4139     &Edit.gb convert.gb->utf7    :%!autogb -i gb -o utf7<CR>

an 20.4139     &Edit.gb convert.gb->uni     :%!autogb -i gb -o uni<CR>

an 20.4149     &Edit.big5 convert.big5->gb    :%!autogb -i big5 -o gb<CR>

"an 20.4149     &Edit.zh\ \ convert.big5->big5  :%!autogb -i big5 -o big5<CR>

an 20.4149     &Edit.big5\ \
convert.big5->hz    :%!autogb -i big5 -o
hz<CR>

an 20.4149     &Edit.big5\ \ convert.big5->utf8  :%!autogb -i big5 -o utf8<CR>

an 20.4149     &Edit.big5\ \ convert.big5->utf7  :%!autogb -i big5 -o utf7<CR>

an 20.4149     &Edit.big5\ \
convert.big5->uni   :%!autogb -i big5 -o
uni<CR>

an 20.4159     &Edit.utf8\ \
convert.utf8->gb    :%!autogb -i utf8 -o
gb<CR>

an 20.4159     &Edit.utf8\ \ convert.utf8->big5  :%!autogb -i utf8 -o big5<CR>

an 20.4159     &Edit.utf8\ \
convert.utf8->hz    :%!autogb -i utf8 -o
hz<CR>

"
an 20.4159     &Edit.zh convert.utf8->utf8  :%!autogb -i utf8 -o utf8<CR>

an 20.4159     &Edit.utf8 convert.utf8->utf7  :%!autogb -i utf8 -o utf7<CR>

an 20.4159     &Edit.utf8 convert.utf8->uni   :%!autogb -i utf8 -o uni<CR>



~/.vimrc

PHP代码:


" 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




要求系统里安装了 zh-autoconvert

把这两个文件弄进去就在 gvim 里添加几个菜单了

菜单 [编辑] -》 [utf8 convert] 用来转换编码 , 在 UTF-8 环境下有转换简体繁体的作用

菜单: [编辑] -》 [MouseStyle] 是切换 UNIX 或 MS 风格鼠标行为的

抱歉!评论已关闭.