Python作为一种解释型编程语言,需要解释器来编译并执行Python代码。
对于Linux和Mac操作系统,均已预装Python。而在Windows下,可以使用安装包或者直接解压版zip文件。
使用以下命令,可以查看当前Python版本:
$ python --version
新版本的Vim已经默认支持Python。可以使用:version
命令,确认是否包含“+python/dyn”和“+python3/dyn”特性。
其中dyn,即dynamic,表示可以通过'pythondll'和'pythonthreedll'选项动态调用Python库。
使用set pythonthreedll?命令,可以查看当前动态调用的Python库。以下为Fedora31下的默认设置:
set pythonthreedll=libpython3.7m.so.1.0
如果您的Vim不支持动态调用Python库,那么以上命令将会报错。
如果您仅是下载并解压程序包(而不是进行安装),那么同时需要设置pythonthreehome选项。例如以下命令,在Windows下设置Python3环境:
set pythonthreehome=C:\tools\Python3
set pythonthreedll=C:\tools\Python3\python38.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)"
请使用以下命令,查看更多帮助信息:
: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
使用以下命令,将根据'makeprg'选项编译并执行Python文件:
:make
如果编译出现错误,将在QuickFix中显示错误列表,并自动跳转到第一个错误处:
启用以下内置的编译器,再执行:make编译命令,报错信息将被整合为一行:
:compiler pyunit
如果希望在编译时保持当前光标位置不变,那么可以使用以下命令:
:make!
使用:cw
命令,将打开quickfix窗口。使用:cp
命令,跳转到上一个错误;使用:cn
命令,跳转到下一个错误。关于QuickFix操作的更多信息,请参阅QuickFix章节。
在修复错误并成功编译之后,将显示命令输出:
使用以下命令,将解释执行当前文件:
:!python3 %
如果执行不带任何参数的python3命令,那么将进入交换模式的python shell,您可以在其中直接执行python命令:
:!python3
使用以下命令,可以退出交换模式的python shell:
import sys; sys.exit()
您也可以直接使用Vim内置的:python3
命令来执行代码:
:py3 print('hello world')