Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何找出在Vim中导入python模块的原因和解决方案_Python_Vim - Fatal编程技术网

如何找出在Vim中导入python模块的原因和解决方案

如何找出在Vim中导入python模块的原因和解决方案,python,vim,Python,Vim,我试图在Vim中设置python,但未能使其正常工作。它总是抛出一个名为UnicodeDecodeError的异常 我已在windows 10上安装了gvim。并安装了相应版本的Python3。 Vim可以找到python37.dll和命令 :echo has('python3') 按预期返回1 只有当除了内置模块外没有其他模块导入时,我的vim with python才能工作 例如: :py3 print('a') 效果很好 :py3 import vim 或 我们也在工作 但是,如果

我试图在Vim中设置python,但未能使其正常工作。它总是抛出一个名为
UnicodeDecodeError
的异常

我已在windows 10上安装了gvim。并安装了相应版本的Python3。 Vim可以找到python37.dll和命令

:echo has('python3')
按预期返回1

只有当除了内置模块外没有其他模块导入时,我的vim with python才能工作

例如:

:py3 print('a')
效果很好

:py3 import vim 

我们也在工作

但是,如果我像这样编写一个简单的python脚本vim_test.py

print('这是用于vim测试')
然后尝试将其作为导入到vim中

:py3 import vim_test
它将给出一个例外:

Traceback (most recent call last):
 File "<string>", line 1, in <module>
 File "<frozen importlib._bootstrap>", line 983, in _find_and_load
 File "<frozen importlib._bootstrap>", line 963, in _find_and_load_unlocked
 File "<frozen importlib._bootstrap>", line 906, in _find_spec
 File "<frozen importlib._bootstrap_external>", line 1280, in find_spec
 File "<frozen importlib._bootstrap_external>", line 1252, in _get_spec
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb3 in position 9: invalid start byte
如果脚本文件vim_test.py位于当前目录中

这个问题的原因可能是什么? 我该怎么解决呢? 我希望能够使用用python编写的vim插件。
有了这个问题,我无法做到这一点。

Windows shell默认将编码设置为CP1258(或其他一些非utf-8编码),这可能是问题的根源。我不知道如何在Windows中用vim中的Python解决这个问题,但是如果可以的话,我会搜索改变vim工作的编码的方向。
Traceback (most recent call last):
 File "<string>", line 1, in <module>
 File "<frozen importlib._bootstrap>", line 983, in _find_and_load
 File "<frozen importlib._bootstrap>", line 963, in _find_and_load_unlocked
 File "<frozen importlib._bootstrap>", line 906, in _find_spec
 File "<frozen importlib._bootstrap_external>", line 1280, in find_spec
 File "<frozen importlib._bootstrap_external>", line 1252, in _get_spec
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb3 in position 9: invalid start byte
:py3file vim_test.py