一次超崩溃的centos下vim中文乱码问题

同事反映在一台服务器上用vim打开含有中文的文件,会出现乱码。按照之前的经验,这个乱码问题很好解决,只要修改.vimrc文件即可,就给同事说,稍等,马上搞定。结果崩溃的历程开始了。。。

1、首先确认文件的编码:

 
[root@mullen tmp]$ file b.py
b.py: UTF-8 Unicode text

OK,编码正常。

2、确认ssh终端的编码,也为UTF8

3、确认服务器用户目录下是否有.vimrc文件,以及其中的配置

 
[slide@mullen tmp]$ cat ~/.vimrc
 
set fileencodings=utf-8,gb2312,gbk,cp936,big5,ucs-bom
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8

OK,vim设置也正常

4、继续确认系统编码

 
[slide@mullen tmp]$ cat /etc/sysconfig/i18n
LANG="en_US.UTF-8:zh_CN.gbk:zh_CN.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN.GB2312:zh_CN.gbk:zh_CN:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
LC_ALL="en_US.UTF-8"
export LC_ALL

也正常,这下傻眼了。。。问题到底出在哪呢?google,翻墙,均未发现任何有用的信息,翻来覆去就是修改vimrc,i18n的配置

5、俺就不信,继续寻求,查看vim的安装

 
[slide@mullen tmp]$ rpm -qa | grep vim
vim-minimal-7.0.109-6.el5
vim-enhanced-7.0.109-6.el5
vim-common-7.0.109-6.el5

也正常

6、系统的字体

 
[slide@mullen tmp]$ rpm -qa | grep font
xorg-x11-font-utils-7.1-2
libXfontcache-1.0.2-3.1
fontconfig-2.4.1-7.el5
xorg-x11-fonts-base-7.1-2.1.el5
libfontenc-1.0.2-2.2.el5
bitstream-vera-fonts-1.10-7
bitmap-fonts-0.3-5.1.1
xorg-x11-fonts-Type1-7.1-2.1.el5
fontconfig-devel-2.4.1-7.el5
chkfontpath-1.10.1-1.1
fontconfig-devel-2.4.1-7.el5
libXfont-1.2.2-1.0.3.el5_1
fontconfig-2.4.1-7.el5
fonts-chinese-3.02-12.el5
urw-fonts-2.3-6.1.1

关键的几个都装了,连fonts-chinese都安装了。

7、查看系统locale

 
[slide@mullen tmp]$ locale
 
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

咦?报错,难道是这里的问题?赶紧的google,有人说是缺少glibc-common这个库,

 
[slide@mullen tmp]$ rpm -qa | grep glibc-common
glibc-common-2.5

明明有这个库啊,不过发现这个库的名字不正常,用yum install glibc-common更新一下

果然需要更新,更新完毕后再看

 
[slide@mullen tmp]$ rpm -qa | grep glibc-common
glibc-common-2.5-81.el5_8.2

再执行locale

 
[slide@mullen tmp]$ locale
LANG=en_US.UTF-8:zh_CN.gbk:zh_CN.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

这次locale正常了,喜滋滋的打开文件,还是乱码。。。不是吧,真的快要崩溃了。

8、折腾呀,折腾了2天,就快要放弃的时候

偶尔发现软件包的目录(我每台服务器上有个专门的目录来存放软件包)有个vim-7.3的文件夹和vim-7.3.tar.bz2的文件,莫非我手动安装过vim?

赶紧查看系统的vim命令

 
[slide@mullen tmp]$ whereis vim
vim: /usr/bin/vim /usr/local/bin/vim /usr/share/vim /usr/share/man/man1/vim.1.gz
 
[slide@mullen tmp]$ ls -al /usr/bin/vim
-rwxr-xr-x 1 root root 2873984 Sep 20  2009 /usr/bin/vim
[slide@mullen tmp]$ ls -al /usr/local/bin/vim
-rwxr-xr-x 1 root root 1509016 Jul 14  2011 /usr/local/bin/vim

这2个vim的时间不对,分别执行一下发现/usr/bin/vim是7.0.237而/usr/local/bin/vim是7.3版本,看情形应该是7.3这个版本的vim对中文支持不是很好,移动到其他目录,然后做个软连接

 
[slide@mullen tmp]mv /usr/local/bin/vim /usr/local/bin/vim73
[slide@mullen tmp]ln -s /usr/bin/vim /usr/local/bin/vim
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值