Ответ 1
TL; DR
В первом случае с
set encoding=utf-8
вы измените выводную кодировку, которая показана в терминале.Во втором случае с
set fileencoding=utf-8
вы измените выходную кодировку файла , написанного.
Как указано в @Dennis, вы можете установить их оба в ~/.vimrc, если вы всегда хотите работать в utf-8
.
Подробнее
Из wiki VIM о работе с unicode
"encoding
устанавливает, как vim должен представлять символы внутри. Ут-8 необходим для большинства вариантов Unicode."
"fileencoding
устанавливает кодировку для определенного файла (локальный для буфера);: setglobal устанавливает значение по умолчанию. Можно также использовать пустое значение: по умолчанию оно равно" encoding ". Или вы можете установить одно из кодировок ucs, он может сделать один и тот же файл на диске большим или меньшим в зависимости от вашего конкретного сочетания символов. Кроме того, IIUC, utf-8 всегда является big-endian (сначала бит), в то время как ucs может быть большим или маленьким, поэтому, если вы его используете, вам, вероятно, потребуется установить" bomb" (см. ниже).