分页: 1 / 1
让enca帮助vim正确显示中文
发表于 : 2007-08-04 16:38
由 roylez
这也许是终级解决方案了,不光简体繁体,其他任何编码应该都没问题。本来就知道enca可以判断文件编码,突然心血来潮想要让它帮vim选择编码。为了避免自己浪费力气,先google了一下,已经有人做好了。
http://trific.ath.cx/software/enca/misc/
代码: 全选
function GetEncoding(f)
let e = system('enca -Pe "' . a:f . '"')
let e = substitute(e, '/.*', '', '')
if e =~ 'unknown'
return 'ascii'
endif
return e
endfunc
au BufReadPre * exec "set fencs=" . GetEncoding(expand('<afile>'))
发表于 : 2007-08-07 17:47
由 madoldman
直接在fencs里面把常用的编码都放进去,用逗号间隔就可以自动识别了吧?我一直这样用,好像没问题,如下
set enc=utf-8
set fenc=utf-8
set fencs=utf-8,gb18030,gbk,gb2312,cp936
发表于 : 2007-08-07 18:30
由 eexpress
有研究意义
发表于 : 2007-08-07 19:24
由 rhfcaesar
大力支持!
发表于 : 2007-08-08 9:29
由 roylez
madoldman 写了:直接在fencs里面把常用的编码都放进去,用逗号间隔就可以自动识别了吧?我一直这样用,好像没问题,如下
set enc=utf-8
set fenc=utf-8
set fencs=utf-8,gb18030,gbk,gb2312,cp936
用enca的好处就是日文韩文阿拉伯文什么的都没有问题,只要字体是全的。
发表于 : 2007-08-08 15:06
由 madoldman
哦,这样阿
Re: 让enca帮助vim正确显示中文
发表于 : 2008-06-28 20:45
由 vvvli
roylez 写了:这也许是终级解决方案了,不光简体繁体,其他任何编码应该都没问题。本来就知道enca可以判断文件编码,突然心血来潮想要让它帮vim选择编码。为了避免自己浪费力气,先google了一下,已经有人做好了。
http://trific.ath.cx/software/enca/misc/
代码: 全选
function GetEncoding(f)
let e = system('enca -Pe "' . a:f . '"')
let e = substitute(e, '/.*', '', '')
if e =~ 'unknown'
return 'ascii'
endif
return e
endfunc
au BufReadPre * exec "set fencs=" . GetEncoding(expand('<afile>'))
终极做不到, 发现如果是日文的 sjis 会被错误判断为 gbk。。 亚洲编码就是复杂阿。
发表于 : 2008-06-28 20:59
由 cnkilior
这个是什么脚本?是放在vimrc里面吗?
---------
找了这个很久了。但看了半天不知道他在说什么,苦啊!
---------
发表于 : 2008-06-28 22:24
由 fortruth
不知道,可不可以用在Konqueror 与 kate 中,让其自动识别 编码。!!
Re: 让enca帮助vim正确显示中文
发表于 : 2008-10-07 18:38
由 wangtwo
没看懂

还是用FencView.vim 感谢Ming Bai 的贡献