答案1
关闭BOMB选项。(字节顺序标记字节)
它会在文本文件的开头添加两个字节来指示字节顺序。它们是 0xFF 和 0xFE,我忘了具体顺序了,但这就是 VCS 认为 .vimrc 是二进制文件的原因。
你应该编辑你的 .vimrc,然后关闭炸弹选项并保存 .vimrc。这应该删除 BOM 字节。最坏的情况是,从 .vimrc 文件中重置/删除 BOMB 选项,然后使用 vim 的二进制模式删除这些令人讨厌的字节。
# edit .vimrc
$ vim .vimrc
# remove / comment out the set BOMB line
# reset the BOMB option (:set nobomb)
# save file, exit vim
如果 BOM 字节消失了(使用文件),您就大功告成了,提交并享受吧。如果没有:
# remove the BOMB bytes using binary mode
$ vim -b .vimrc
# save and exit, .vimrc should no longer have the BOMB bytes.
此外,“文件”命令还可以告诉您文件是否也包含 BOMB 字节。
您还可以使用“xxd”命令(vim 自带)来查看文件的十六进制字节:
xxd .vimrc | head
应该会显示 BOM 字节是否存在。(对于很多事情来说,它非常方便)
答案2
您是否尝试过 stackoverflow 页面的其他响应?
在 vim 中打开 .vimrc 并:
:write ++enc=utf-8