mac vim python3_VIM学习笔记 编译源码(Compile Code)-Python
Python作为一种解释型编程语言,需要解释器来编译并执行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: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)"
请使用以下命令,查看更多帮助信息:
:help python-dynamic
:help 'pythonhome'
:help 'pythonthreehome'
设置编译器
使用以下命令,设置'makeprg'选项为python3命令:
:set makeprg=python3 %
通过在vimrc文件中增加以下自动命令,可以为Python源码文件设置编译快捷键:
augroup make_pythonau!au FileType python set makeprg=python3 %au FileType python map <buffer> <leader><space> :w<cr>:make<cr>
augroup end
编译Python代码
使用以下命令,将根据'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')
Ver: 2.0 | YYQ<上一篇 | 目录 | 下一篇>
mac vim python3_VIM学习笔记 编译源码(Compile Code)-Python相关推荐
- sheng的学习笔记-Vector源码分析
概述 Vector底层也是数组,跟ArrayList很像(先看下ArrayList,再看Vector会很轻松),ArrayList可参考下文,并且由于效率低,已经被淘汰了,大概瞅瞅得了 sheng的学 ...
- android源码编译 简书,android学习笔记之源码编译
编译环境 1.需要Ubuntu 64bit,建议Ubuntu14.04 64-bit 2.安装openJDK7 $ sudo apt-get update $ sudo apt-get install ...
- dubbo学习笔记 一 源码编译
前面学习了netty和rocketmq,当然前面的文章还会继续更新,继续往下写 2016 没几天了,我打算写下dubbo 2017 继续深入源码,大家有啥问题 都可以一起来讨论 源码搭建 下载源码 同 ...
- as工程放到源码编译_方舟编译器学习笔记2 源码编译
根据方舟官方文档编译了方舟编译器的源码,在这里简单谈谈其源码的编译过程: 1.操作系统环境: 64位版本的Ubuntu(官方推荐Ubuntu 16.04).我自己本身就有Ubuntu 16.04的虚拟 ...
- yolov1-v5学习笔记及源码解读
目录 深度学习网络分类 评价指标 原理 yolov1 yolov2 yolov3 yolov4 yolov5 源码解读(v3为例) 深度学习网络分类 深度学习经典检测方法 通常分为 two-stage ...
- 狂神说SpringCloud学习笔记(附带源码和笔记)
狂神说Spring Cloud Netflix笔记-01(服务注册与发现) 狂神说Spring Cloud Netflix笔记-02(Eureka集群的搭建 ) 狂神说Spring Cloud Net ...
- PixHawk学习笔记 之 源码浅析——mc_pos_control.cpp——task_main
注意:基于"Firmware-1.6.0rc1" 献上固件源码分享链接:https://pan.baidu.com/s/1kUPocmF 密码:j55a 自己边学边写的,一定有错, ...
- Opencv学习笔记 - imread源码解读
一.打开图片流程分析 1.读取图片头,进行解码器的寻找 2.根据参数flags,确定图像通道和是否缩放 3.给解码器指定缩放参数和源 4.使用解码器读取图像的头,确保没有问题,失败则输出错误并返回 5 ...
- SLAM学习笔记 - ORB_SLAM2源码运行及分析
参考资料: DBow2的理解 单目跑TUM数据集的运行和函数调用过程 跑数据集不需要ros和相机标定,进入ORB_SLAM目录,执行以下命令: ./Examples/Monocluar/mono_tu ...
最新文章
- 再见,Python!!
- 皮一皮:叛徒可耻!!!
- 原型模式(ProtoType) - Java里的对象复制
- java readline 实现_基于自定义BufferedReader中的read和readLine方法
- multiselect多选下拉框
- Python提示错误 module 'request' has no attribute 'urlretrieve'
- redis-cli 链接redis命令
- 通过解析器向DNS服务器发出查询
- word转pdf公式乱码_word转换pdf公式乱码怎么办
- vivado linux使用教程,Vivado2017.4下载|Xilinx Vivado 2017.4 最新版(含使用教程)下载...
- php laravel手册,Laravel 8.x 简体中文最新手册指南
- CubeMX设置STM32 Timer预分频(PSC)
- 微擎模块 抖音口红机 3.2.0+wap登陆1.3.0增加首页banner跳转链接
- 大数据、java、python、区块链、人工智能发展前景
- ChatGPT 是什么?
- QR码编码原理二(编码)
- 服务器sas卡的作用,英特尔IOP34x处理器介绍
- openh264编解码器的编译与运行
- 2016中国国际石墨烯创新大会展商名录抢先看
- 0x0000007b错误解决办法
热门文章
- solidity bytes 智能合约开发知识浅学(五点一)bytes基本概念
- 电脑配置java编译报错_java 编译错误
- mysql insert replace_mysql 操作总结 INSERT和REPLACE
- 这个外挂要上天了!教一千遍都不会的数理技巧,还不如搞懂最根本的概念!
- 那些拧不开瓶盖的女生全都是装的?理工男这样想......
- 凭自己本事单的身是一种怎样的体验?你根本配不上如此优秀的我!
- 虚拟ip工具_针对游戏防封换IP有用吗?
- 单调谐回路谐振放大器等效电路分析_手把手教你如何分析三极管电路
- dhcp服务器显示主机名,linux – 当我没有在dhclient.conf中定义一个时,我的DHCP服务器如何知道我的机器的主机名?...
- android刷新时的圆形动画_Android自定义加载圈动画效果