Рейтинг:0

Проблемы с кодировкой при запуске python через vim?

флаг kr

В настоящее время я сталкиваюсь с проблемой при выполнении :!python3 % в вим.

:!python3 test_glove.py
Traceback (последний последний вызов):
  Файл "test_glove.py", строка 13, в <module>
    для строки в f.readlines():
  Файл "/usr/lib/python3.6/encodings/ascii.py", строка 26, в декодировании
    вернуть codecs.ascii_decode (ввод, self.errors) [0]
UnicodeDecodeError: кодек ascii не может декодировать байт 0xe2 в позиции 1387: порядковый номер не в диапазоне (128)

Простым решением было бы прямо сообщить обработчику файла, какая кодировка считываемого файла. с open(GLOVE_FILENAME, "r+", encoding="utf-8") как f:.

Но если компилятору python3 это не нужно, то почему vim требует этого от меня? Почему не может вим !python3 работает так же, как python3?

Это заставляет меня либо определять кодировку каждого файла, который я читаю/пишу, либо сохранять и выходить из vim, чтобы скомпилировать и запустить его с помощью python в командной строке UNIX, что не вызывает проблем.

Есть ли решения для этого? Мой ~/.vimrc кодировка уже установлена ​​в utf-8.

установить fileencodings = ucs-bom, utf-8, latin1
установить кодировку = utf-8

может кто-нибудь объяснить мне, что можно сделать?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.