vim编码转换和文件模式类型转换

一、编码问题
编码常见为 gbk utf-8 big5 cp936
1、查看现在文本的编码
:set fenc
:set fileencoding
2、修改终端编码,可以设置终端或者在vim中
:set tenc=编码
:set termencoding=utf-8
3、以指定的编码显示文本,但不保存到文件中。
:set enc=编码
:set encoding=utf-8
4、转换当前文本的编码为指定的编码
:set fenc=编码
:set fileencodings=utf-8 ,然后 w (存盘)一下即可转化为 utf8 格式,
:set fileencodings=cp936  ,然后 w (存盘)一下即可转化为 ANSI 格式。


二、文本的模式类型
一般文件的类型模式为dos,unix
1、查看当前文本的模式类型
:set ff
2、设置为dos模式,即Windows下的格式
:set ff=dos
3、设置为unix模式
:set ff=unix
:%s/^M//g


三、编码转换工具
1、enconv 转换文件编码,比如要将一个GBK编码的文件转换成UTF-8编码
enconv -L zh_CN -x UTF-8 filename
2、iconv 转换,iconv的命令格式如下
iconv -f encoding -t encoding inputfile
iconv -f UTF-8 -t GBK file1 -o file
批量转换脚本
#!/bin/bash
if [ "$#" != "2" ]; then
  echo "Usage: `basename $0` dir filter"
  exit
fi
dir=$1
filter=$2
echo $1
for file in `find $dir -name "$2"`; do
  echo "$file"
  #iconv -f gbk -t utf8 -o $file $file
  iconv -f utf8 -t gbk -c -o $file $file
done
使用方法
~/iconv_shell.sh ./ *java

3、convmv转换编码
Convmv -f 源编码 -t 新编码 [option] filename
模拟转换对比
convmv -f GBK -t UTF-8 *.mp3
真正转换命令
convmv -f GBK -t UTF-8 --notest *.mp3
4、enca自动识别转换
查看当前文件编码
enca -L zh_CN ip.txt
转换编码
enca -L 当前语言 -x 目标编码 文件名
批量转换
enca -L zh_CN -x utf-8 *
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值