У меня есть файл UTF-16 с спецификацией. Я установил fileencodings для:
set fencs=ucs-bom,utf-16le,utf-8,default,latin1
Однако из-за одного символа в одной строке vim не обнаруживает UTF-16 автоматически и по умолчанию использует latin1 со всеми маркерами ^@
null. Заставляя vim читать файл как UCS (:e ++enc=ucs-bom
), он успешно читает файл, но сообщает "ОШИБКА КОНВЕРСИИ в строке {nn}", но кроме этого символа, который преобразовал остальная часть файла правильно. Если плохой символ удаляется, файл правильно интерпретируется и отображается.
В любом случае vim игнорирует ошибки конвертации? Принудительное кодирование каждый раз, когда есть действительная спецификация, немного раздражает.