分类: IT linux |
vi文本编码及其转换的实现方法
如有疑问,请联系seablue.
Q:
1)通常在非中文编码方式的文本中输入中文后,vi不能保存文件.错误信息如下:
test.txt" 不能写入 -- 转换失败
请按 ENTER 或其它命令继续
2)而且删除中文字符时,总是半个半个的删除,过长的行还会显示乱码.
A:
在用户的home目录下的.vim或.exrc文件中,加入
set encoding=cp936或set encoding=gb2312;则很好地可以解决这些问题,如果没有这个文>件,可以自己建立.
在主目录下
$ echo "set encoding=2byte-cp936" >> .exrc
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
存档即实现了文本的编码转换.
--------------------------------------------------------------------------------
由 nancen 在 06-06-2003 20:19 发表:
.vimrc 中设也可以吧.
由 seablueR 在 06-08-2003 05:49 发表:
vi 编辑文件时,echo "中文",存盘退出时"不能写入--转换失败
--------------------------------------------------------------------------------