win下面的cmder中的vim . 中文会乱码. 试了各种解决方式.. 还是没弄好咋整
cmder + vim 中文乱码这个问题我遇到过,大概率是编码设置没统一。下面是我排查和解决的步骤,你可以按顺序试一下。
在 vim 里执行:
:set encoding? :set fileencoding? :set fileencodings?
如果 encoding 不是 utf-8,在 ~/.vimrc 或 ~/_vimrc 里加上:
set encoding=utf-8 set fileencodings=ucs-bom,utf-8,gbk,gb2312,cp936,gb18030,big5,euc-jp,latin1
cmder 默认可能不是 UTF-8,需要在设置里把:
在 cmder 里执行:
chcp 65001
然后重启 cmder 再打开 vim 试试。
如果文件本身是用 GBK 保存的,vim 里 :set fileencoding=gbk 再 :e 重新加载,看看是否还乱码。
也可以先用 file 命令看文件编码:
file -i yourfile.txt
如果你不确定文件到底是什么编码,或者想快速把一份乱码文本转成 UTF-8,可以先用在线编码工具看一下字节序列对应的编码。我有时候会用工具派上的编码解码工具做快速验证:
https://gjupai.com/
里面 Base64、URL、UTF-8/GBK 这些编码转换都有,适合临时排查。但敏感文件不建议上传,优先用本地命令解决。
set encoding=utf-8 set fileencoding=utf-8 set fileencodings=ucs-bom,utf-8,gbk,gb2312,cp936,gb18030,big5,euc-jp,latin1 set termencoding=utf-8 set langmenu=zh_CN.UTF-8 language message zh_CN.UTF-8
保存后重启 cmder 和 vim,中文乱码问题基本能解决。如果还有问题,建议把 :set encoding?、:set fileencoding? 和 chcp 的输出贴出来,定位会更快。
win 下面的 cmder 中的 vim,中文乱码,试了各种解决方式还是没弄好
cmder + vim 中文乱码这个问题我遇到过,大概率是编码设置没统一。下面是我排查和解决的步骤,你可以按顺序试一下。
1. 先确认 vim 的编码设置
在 vim 里执行:
:set encoding?
:set fileencoding?
:set fileencodings?
如果 encoding 不是 utf-8,在 ~/.vimrc 或 ~/_vimrc 里加上:
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,gbk,gb2312,cp936,gb18030,big5,euc-jp,latin1
2. 确认 cmder 的编码
cmder 默认可能不是 UTF-8,需要在设置里把:
在 cmder 里执行:
chcp 65001
然后重启 cmder 再打开 vim 试试。
3. 确认文件本身的编码
如果文件本身是用 GBK 保存的,vim 里 :set fileencoding=gbk 再 :e 重新加载,看看是否还乱码。
也可以先用 file 命令看文件编码:
file -i yourfile.txt
4. 临时救急:在线编码检测/转换
如果你不确定文件到底是什么编码,或者想快速把一份乱码文本转成 UTF-8,可以先用在线编码工具看一下字节序列对应的编码。我有时候会用工具派上的编码解码工具做快速验证:
https://gjupai.com/
里面 Base64、URL、UTF-8/GBK 这些编码转换都有,适合临时排查。但敏感文件不建议上传,优先用本地命令解决。
5. 一个最小可用的 vimrc 配置
set encoding=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,gbk,gb2312,cp936,gb18030,big5,euc-jp,latin1
set termencoding=utf-8
set langmenu=zh_CN.UTF-8
language message zh_CN.UTF-8
保存后重启 cmder 和 vim,中文乱码问题基本能解决。如果还有问题,建议把 :set encoding?、:set fileencoding? 和 chcp 的输出贴出来,定位会更快。