vi文本编码及其与中文转换的实现方法

    技术2022-05-19  32

    vi文本编码及其与中文转换的实现方法

    (2006-07-25 11:13:01) 转载 分类: 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 "中文",存盘退出时"不能写入--转换失败

    --------------------------------------------------------------------------------


    最新回复(0)