在 Windows 中为 vim 使用两个 python 路径

在 Windows 中为 vim 使用两个 python 路径

我只是想:!python %运行我在 vim 中使用的文件,但明显的冲突是我无法区分 python2 和 python3,因为同时包含它们$PATH$会导致两个实例python.exe

有没有什么优雅的解决方案?我只想快速运行我正在处理的工作。

答案1

您可以定义两个自定义命令,例如:

:command! Python2 !C:\python2\python %
:command! Python3 !C:\python3\python %

另外,如果每个项目的 Python 版本不同,我会使用以下之一本地 vimrc插件设置缓冲区局部变量(例如b:python_version),并在自定义命令中检查:

:command! Python execute '!C:\python' . b:python_version . '\python %'

答案2

没有明显的冲突,因为无论python.exe你有多少个 s PATH仅第一个会被执行.PATH从左到右进行工作 - 一旦找到可执行文件,就会调用该过程并停止搜索。

所以如果你C:\python27\以前有过C:\python3\,你会总是执行 python2。

维基百科
当在命令 shell 中输入命令或程序进行系统调用来执行程序时,系统首先搜索当前工作目录,然后搜索路径,从左到右检查每个目录,查找与给定命令名匹配的可执行文件名。可执行程序的文件扩展名为 EXE 或 COM,批处理脚本的文件扩展名为 BAT 或 CMD。其他可执行文件扩展名也可以在系统中注册。

一旦找到匹配的可执行文件,系统就会生成一个新进程来运行它。

为了解决这个问题,我同意@IngoKarkat的解决方案 - 但是,我会把它放在我的~/.vimrc

相关内容