У меня есть текстовый файл. Мне сказали сделать это UTF8. Как я могу сделать это с помощью Vim?
У меня есть текстовый файл. Мне сказали сделать это UTF8. Как я могу сделать это с помощью Vim?
Ответы:
Если вы редактируете файл, закодированный как latin1, вы обнаружите, что 'fileencoding' для этого буфера установлен на latin1. Поэтому вам нужно будет вручную установить кодировку файла перед сохранением файла.
:set fileencoding=utf8
:w myfilename
Также обратите внимание, что файлы UTF8 часто начинаются с метки порядка байтов (BOM), которая указывает на порядок байтов. BOM не является обязательным , но некоторые программы используют его исключительно для определения кодировки файла. При определенных условиях Vim напишет спецификацию, но иногда нет. Чтобы явно установить спецификацию, сделайте следующее:
:set bomb
Для получения дополнительной информации :help mbyte-options
и :help utf8
и :help bomb
.
set fileencoding=utf-8
снова открыть его. Vim даже не замечает спецификации, если вы сказали ему написать ее (и он действительно ее записывает). Чтобы UTF-8 работал, вам нужно это или set encoding=utf-8
в настройках запуска. По крайней мере, такова история моей системы.
:w ++enc=utf-8 %
записать файл в кодировке utf-8 на диск.
fileencoding
, то :w ++enc=utf-8
действует время один, но в следующий раз при запуске :w
, то значение 'fileencoding'
будет использоваться, и если вы не изменили его (явно при редактировании, или путем перезагрузки файла, в надежде который 'fencs'
установлен надлежащим образом, и фактическая кодировка хорошо определена), старая кодировка вернется.
fileencoding
также является правильным ответом на вопрос, который, как мне кажется, не ведет к принятию вредных привычек. Но ладно, полагаю, это всего лишь вопрос настроения.