一、編碼問題
編碼常見為 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/bashif [ "$#" != "2" ]; then echo "Usage: `basename $0` dir filter" exitfidir=$1filter=$2echo $1for 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 $filedone
使用方法
~/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 *