LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 761|回复: 4

用自带的输入法 在gedit下输入的中文 后在 vi 中打开显示的是乱码

[复制链接]
发表于 2006-11-26 17:41:38 | 显示全部楼层 |阅读模式
用自带的输入法  在gedit下输入的中文 后在 vi 中打开显示的是乱码

用的是REDHAT 9.0

望高手指教
发表于 2006-11-26 18:07:40 | 显示全部楼层
你的vi,不支持utf-8吧。用vim试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-26 19:35:10 | 显示全部楼层
vim 也不行呀
回复 支持 反对

使用道具 举报

发表于 2006-11-26 21:01:11 | 显示全部楼层
其实,Linuxsir里面有解决方案,你应该先去搜搜。
这个方案只能解决vim的问题,不能解决所有编译器的问题
编辑 ~/vimrc
<code>
" 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
</code>
By carlos

其他编辑器的问题可能需要配置中文环境
回复 支持 反对

使用道具 举报

发表于 2006-11-26 21:04:36 | 显示全部楼层
不好意思,上面的BB代码搞错了

编辑 ~/vimrc

  1. " multi-encoding setting
  2. if has("multi_byte")
  3. "set bomb
  4. set fileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,latin1
  5. " CJK environment detection and corresponding setting
  6. if v:lang =~ "^zh_CN"
  7. " Use cp936 to support GBK, euc-cn == gb2312
  8. set encoding=cp936
  9. set termencoding=cp936
  10. set fileencoding=cp936
  11. elseif v:lang =~ "^zh_TW"
  12. " cp950, big5 or euc-tw
  13. " Are they equal to each other?
  14. set encoding=big5
  15. set termencoding=big5
  16. set fileencoding=big5
  17. elseif v:lang =~ "^ko"
  18. " Copied from someone's dotfile, untested
  19. set encoding=euc-kr
  20. set termencoding=euc-kr
  21. set fileencoding=euc-kr
  22. elseif v:lang =~ "^ja_JP"
  23. " Copied from someone's dotfile, untested
  24. set encoding=euc-jp
  25. set termencoding=euc-jp
  26. set fileencoding=euc-jp
  27. endif
  28. " Detect UTF-8 locale, and replace CJK setting if needed
  29. if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
  30. set encoding=utf-8
  31. set termencoding=utf-8
  32. set fileencoding=utf-8
  33. endif
  34. else
  35. echoerr "Sorry, this version of (g)vim was not compiled with multi_byte"
  36. endif
复制代码

By carlos
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表