我在vim文档中看到如下一段介绍:
以下情况,Vim 会自动把一种编码转换成另一种编码:
- 读文件时 'fileencoding' 和 'encoding' 不同
- 写文件时 'fileencoding' 和 'encoding' 不同
- 显示字符时 'termencoding' 和 'encoding' 不同
- 读取输入时 'termencoding' 和 'encoding' 不同
- 显示信息时 LC_MESSAGE 使用的编码和 'encoding' 不同 (需要支持此功能的
gettext)
- Vim 脚本 :scriptencoding 和 'encoding' 不同
- 读写一个 viminfo 文件
以上很多都需要 +iconv 特性,读写文件的转换也可以通过指定 'chaconvert' 来完
成。
但我没有看明白是谁转换为谁,比如:” 读文件时 'fileencoding' 和 'encoding' 不同“ 时,是encoding 转换为 fileencoding 还是fileencoding转换为encoding 呢?
另:这种编码的转换会破坏文件的内容吗? 如果fileencoding的值不是文件真实的编码,这种转换还有效吗?