+
 新版

win下面的cmder中的vim . 中文乱码. 试了各种解决方式.. 还是没弄好

Codigger官方 发布于 2025/05/29 15:04
阅读 627
收藏 0

win下面的cmder中的vim . 中文会乱码. 试了各种解决方式.. 还是没弄好咋整

加载中
0
工具派
工具派

win 下面的 cmder 中的 vim,中文乱码,试了各种解决方式还是没弄好

cmder + vim 中文乱码这个问题我遇到过,大概率是编码设置没统一。下面是我排查和解决的步骤,你可以按顺序试一下。

1. 先确认 vim 的编码设置

在 vim 里执行:

:set encoding?
:set fileencoding?
:set fileencodings?

  • encoding 是 vim 内部使用的编码,建议设成 utf-8。
  • fileencoding 是当前文件的编码。
  • fileencodings 是 vim 自动检测文件编码时的尝试顺序。

如果 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,需要在设置里把:

  • 字体 改成支持中文的等宽字体,比如 Consolas、Microsoft YaHei Mono、Sarasa Term SC 等。
  • 代码页 改成 65001(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 的输出贴出来,定位会更快。

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部