Как установить кодировку символов для файла в VIM
Я использую :set fileencoding=utf-8
, и файл сохраняется правильно, но в следующий раз, когда я его открываю, я получаю искаженные символы, а :set fileencoding?
говорит, что опция не установлена.
Из документов я понимаю, что я не должен касаться опции encoding
.
Какой правильный способ указать кодировку для файла в VIM?
Ответы
Ответ 1
Использование
set fileencodings=utf-8
(с s в конце), который может содержать список различных кодировок. Vim будет проверять кодировки, перечисленные слева направо, до тех пор, пока не будет работать, и он установит файл кодирования для этой кодировки. Если ни одна из них не работает, тогда fileencoding устанавливается в пустую строку, которая приведет к поведению по умолчанию.
Также было бы целесообразно добавить это к вашему vimrc, чтобы вы не делали этого постоянно.
Ответ 2
Вы должны установить fileencodings
различные кодировки, которые vim должен попробовать при открытии файла, например:
set fileencodings=ucs-bom,utf-8,latin1
От :help fileencodings
:
Это список кодировок символов рассматривается при запуске редактирования существующий файл. Когда файл читается, Vim пытается использовать первый упомянутого кодирования символов. Если обнаружена ошибка, следующая в списке. Когда обнаружена кодировка, которая работает, fileencoding
установлен на него.
Вы можете поместить эти настройки в свой .vimrc
файл, чтобы вам не приходилось вводить их вручную каждый раз при запуске vim.
Ответ 3
Вы можете поместить эту директиву в комментарий в файле:
# vim: set fileencoding=<encoding name> :
Ответ 4
Если vim не отображает ваш файл правильно при открытии, укажите кодировку с
: установить кодировку = utf8
Ответ 5
Тест:
vim ~/.vimrc
добавить:
set fileencodings = utf-8
установить кодировку = utf-8
сохранить и закрыть.
Выход и вход в систему
Ответ 6
Я прочитал много потоков о кодировании VIM. Я считаю, что самый важный трюк:
Прежде чем открыть файл, вы должны сначала открыть VIM, а затем использовать команду:
edit ++ enc = имя_файла .ext
Он может обрабатывать большинство вопросов о кодировании и файлообменнике.
ключевые моменты включают:
- Вы должны правильно отобразить кодировку! без правильного отображения, любые другие операции могут привести к неустранимой проблеме.
- после правильного отображения файла, если необходимо, вы можете
": set fileencoding = UTF-8"
: записывать"
чтобы VIM всегда отображал его правильно.
Поскольку я не являюсь пользователем английского языка на английском языке, я думаю, что мой способ может быть подтвержден.