redhat vi 无法保存中文信息

Q:  
1)通常在非中文编码方式的文本中输入中文后,vi不能保存文件.错误信息如下: 
test.txt" 不能写入 -- 转换失败 
请按 ENTER 或其它命令继续
 
2)而且删除中文字符时,总是半个半个的删除,过长的行还会显示乱码. 

A:  
在用户的home目录下的.vim或.exrc文件中,加入 
set encoding=cp936或set encoding=gb2312;则很好地可以解决这些问题,如果没有这个文>件,可以自己建立. 

Q:  
如果文本文件的编码是utf-8 Unicode,用vi打开会乱码. 

A:  
在用户的home目录下的.vim或.exrc文件中(如果没有自己建立).加入 
1)set encoding=cp936或set encoding=gb2312; 
2)set fileencodings=utf-8 
则可以正常编辑GB和utf-8文件. 

Q:  
如何用vi实现文本的编码转换? 

A:  
(1)进入空白的vi界面,在命令行修改文件的编码方式,如下 
:set encoding=gb2312 fileencodings=utf-8 
或set encoding=cp936 fileencodings=utf-8 
这时,打开utf-8文本(:e filename),则可以正常编辑. 

(2)如果想转换成gb2312,或cp936编码方式,则输入下列命令 
:set encoding=gb2312 fileencodings=gb2312 fileencoding=gb2312 
或 
:set encoding=cp936 fileencodings=cp936 fileencoding=cp936 
存档即实现了文本的编码转换. 

(3)反之亦然. 
:set encoding=cp936 fileencodings=utf-8 fileencoding=utf-8 

存档即实现了文本的编码转换.


Q: 
能否用VIM进行中文简体繁体的转换? 

A: 
没有问题.做法和上面UTF-8与GB的转换类似. 
运行vi,设置编码类型为原始文本的编码类型,打开文本, 
这时应该可以正常显示文本了.接着设置文本为新的编码类型, 
然后保存文本.即实现中文简体繁体的转换. 
例如,把繁体文本文件my.html转换为简体中文: 
vi 
:set encoding=euc-cn fileencodings=big5 fileencoding=big5 
:e my.html 
:set fileencodings=cp936 fileencoding=cp936 
修改html中的charset=big5改为charset=gb2312 
:w 
即实现了繁体-->简体的转换. 
当然,如果你有许多的文件需要转换,用脚本来实现将会更加方便快捷.


转自:http://www.linuxsir.org/bbs/thread44365.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值