2

Я пытаюсь редактировать текстовые файлы UTF-8, используя vim (7.3) в Windows (приглашение /powershell).

Мой файл _vimrc довольно прост:

set encoding=latin-1
set fileencoding=utf-8

Проблема в том, что при редактировании файла, который уже существует, он (по-видимому) работает. Но если я использую vim для создания нового файла, он не пишет то же самое содержимое.

Допустим, я открываю файл, используя vim myfile.txt , который имеет этот контент:

discussão

Если я :wq то все в порядке.

Теперь, если вместо этого я создаю новый файл, после сохранения и повторного открытия я получаю:

discussão

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

1 ответ1

3

использование

set encoding=utf-8

и прочитайте :help 'encoding' .

Короче говоря, эта опция определяет, как Vim будет обрабатывать текст внутри. Обычно Vim автоматически устанавливает его в соответствии с локалью вашей системы. Если он не может получить эту информацию (или если ваша локаль - latin1), Vim устанавливает ее на latin1 что, очевидно, отстой.

Лучше всего явно установить значение utf-8 .

С другой стороны, set fileencoding=utf-8 не нужно и, вероятно, контрпродуктивно, поскольку оно устанавливается Vim для каждого буфера.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .