vim buffer尝试char-by-char转换

Cal*_*eng 2 vim

它可能是在unix/linux问题中打开的Windows保存文件,我不太清楚如何解决它.

当我打开一个以前由另一个开发人员使用Windows保存的文件时,我的vim缓冲区有时显示

Trying char-by-char conversion...
Run Code Online (Sandbox Code Playgroud)

在我的文件中间,我无法编辑缓冲区中此消息下方的代码/文本/字符.

为什么会这样做?如何防止这种情况发生?

Ing*_*kat 5

此消息来自Vim的功能mac_string_convert()src/os_mac_conv.c.它伴随着以下评论:

整个字符串的转换失败,但也许它适用于每个字符

好像你正在编辑的文件包含一个无法转换为Vim内部编码的字节序列.没有更多细节很难提供帮助,但通常,这些有助于:

  1. 确保你有 :set encoding=utf-8
  2. 检查:set filencodings?并确保您尝试打开的文件已被覆盖,或明确指定编码:edit ++enc=... file
  3. 8g8命令可以找到非法的UTF-8序列,以便在文件损坏时将其删除.二进制模式:set binary/ :edit ++bin也可能有所帮助.