Подтвердить что ты не робот

Как установить кодировку символов для файла в VIM

Я использую :set fileencoding=utf-8, и файл сохраняется правильно, но в следующий раз, когда я его открываю, я получаю искаженные символы, а :set fileencoding? говорит, что опция не установлена.

Из документов я понимаю, что я не должен касаться опции encoding.

Какой правильный способ указать кодировку для файла в VIM?

4b9b3361

Ответ 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 всегда отображал его правильно.

Поскольку я не являюсь пользователем английского языка на английском языке, я думаю, что мой способ может быть подтвержден.