项目需要支持跨平台编译,使用nodepad++和vim创建的文件默认使用utf8不带签名的格式。代码文件存在不少中文注释,使用VS2017、VS2022编译时产生大量异常错误。
调查后发现,VS不能正常识别utf8不带签名文件的中文字符,需要将utf8改为utf8-BOM(带签名)格式。
vim命令args和argdo信令特别适合这种场景,下面记录一下过程
1、创建文件,确认文件默认编码格式为utf-8,Nodepad++也显示为utf-8格式
2、运行vim信令(不携带任何参数)
3、进入vim说明界面后,直接输入命令行模式,输入":args ./*.txt",标记待更改格式的文件
4、默认进入首个文件,在此界面下,命令模式输入:":argdo set bomb|update",回车
5个文件依次执行上述命令,并保存。
5、点击回车,界面停在最后一个文件,正常退出即可(:q)
6、使用Nodepad++查看所有文件,确认所有文件均已更改为utf-8 BOM格式