В настоящее время я сталкиваюсь с проблемой при выполнении :!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
может кто-нибудь объяснить мне, что можно сделать?