Python作为一种解释型编程语言,需要解释器来编译并执行Python代码。

测试Python

对于Linux和Mac操作系统,均已预装Python。而在Windows下,可以使用安装包或者直接解压版zip文件。

使用以下命令,可以查看当前Python版本:

$ python --version



centos python 配置vim vim 配置python3环境_centos python 配置vim


设置动态调用库

新版本的Vim已经默认支持Python。可以使用:version命令,确认是否包含“+python/dyn”和“+python3/dyn”特性。


centos python 配置vim vim 配置python3环境_mac vim with python3_02


其中dyn,即dynamic,表示可以通过'pythondll'和'pythonthreedll'选项动态调用Python库。

使用set pythonthreedll?命令,可以查看当前动态调用的Python库。以下为Fedora31下的默认设置:


set pythonthreedll=libpython3.7m.so.1.0


如果您的Vim不支持动态调用Python库,那么以上命令将会报错。

如果您仅是下载并解压程序包(而不是进行安装),那么同时需要设置pythonthreehome选项。例如以下命令,在Windows下设置Python3环境:


set pythonthreehome=C:toolsPython3
set pythonthreedll=C:toolsPython3python38.dll


以下命令,可以在Mac下设置Python环境:


" for python 3.X
set pythonthreehome=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7
set pythonthreedll=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/libpython3.7m.dylib
" for python 2.X
set pythonhome=/System/Library/Frameworks/Python.framework/Versions/2.7
set pythondll=/System/Library/Frameworks/Python.framework/Versions/2.7/Python


请注意,在您的环境中Python所处的路径可能会不同。请在操作系统中使用以下命令,查看Python系统路径:


$ python -c "import sys; print(sys.path)"


centos python 配置vim vim 配置python3环境_mac vim with python3_03


请使用以下命令,查看更多帮助信息:


:help python-dynamic
:help 'pythonhome'
:help 'pythonthreehome'


设置编译器

使用以下命令,设置'makeprg'选项为python3命令:


:set makeprg=python3 %


通过在vimrc文件中增加以下自动命令,可以为Python源码文件设置编译快捷键:


augroup make_python
	au!
	au FileType python set makeprg=python3 %
	au FileType python map <buffer> <leader><space> :w<cr>:make<cr>
augroup end


编译Python代码

使用以下命令,将根据'makeprg'选项编译并执行Python文件:


:make


如果编译出现错误,将在QuickFix中显示错误列表,并自动跳转到第一个错误处:


centos python 配置vim vim 配置python3环境_mac vim with python3_04


启用以下内置的编译器,再执行:make编译命令,报错信息将被整合为一行:


:compiler pyunit


centos python 配置vim vim 配置python3环境_centos python 配置vim_05


如果希望在编译时保持当前光标位置不变,那么可以使用以下命令:


:make!


使用:cw命令,将打开quickfix窗口。使用:cp命令,跳转到上一个错误;使用:cn命令,跳转到下一个错误。关于QuickFix操作的更多信息,请参阅QuickFix章节。

在修复错误并成功编译之后,将显示命令输出:


centos python 配置vim vim 配置python3环境_mac vim python3_06


使用以下命令,将解释执行当前文件:


:!python3 %


如果执行不带任何参数的python3命令,那么将进入交换模式的python shell,您可以在其中直接执行python命令:


:!python3


centos python 配置vim vim 配置python3环境_centos python 配置vim_07


使用以下命令,可以退出交换模式的python shell:


import sys; sys.exit()


您也可以直接使用Vim内置的:python3命令来执行代码:


:py3 print('hello world')