字符编码问题
一文件,我用windows下的vi打开汉字的地方是汉字,unix下是类似这种东西<b4><fa><bf>许多尖括号。我用set fileencoding查看,后面是空的,想请教怎么在unix下把尖括号变回汉字? dos2unix? 回复 1# hhdzhu应当是文件的编码为gbk或gb2312导致的,你可以安装一下enca,然后用enca filename看看文件的编码。
解决vim打开问题可以用以下的方法(假设文件为gbk):
方法1. 将文件转换为utf8:iconv -f gbk -t utf8 oldfile > newfile方法2.在.vimrc文件添加(我的配置):let &termencoding = &encoding
set fileencodings=ucs-bom,utf-8,gb2312,cp936,gb18030,big5,euc-jp,euc-kr,latin1方法3. 安装fencview插件
方法4. 对于已经打开的vim中,使用以下命令打开文件e ++enc=gbk filename 回复 3# 井蛙夏虫
谢了,你知道这个命令吗:set ff,unix下的是unix,但是编码是gbk。我觉得很奇怪,既然是gbk的,那么fileformat为什么是unix的而不是dos的呢。哦,那个转换的命令用小写不好使啊,换成大写的就好使了。。。iconv -f GBK -t UTF-8 file1 > file2 回复 4# hhdzhu
set ff显示的unix和dos指的是行分割符的不同。windows下的是\r\n这两个字符,unix下是\n。它与编码是两个概念
set ff是unix时,指的是现在文件用\n作为行分割符,而dos指的是使用\r\n作为分割符。
对于使用\r\n作为分割符的文件,你使用:e ++ff=unix filename打开时,可以看见每行结尾有个'^M'。
2L说的dos2unix和unix2dos命令可以在这两者之间做转换
回复 5# 井蛙夏虫
明白一点了,:)
页:
[1]