vim+python打造自己的IDE插件推荐

简介:

  今天同事小伙伴突然告诉我说,他用的编辑器sublime3导致笔记本突然卡顿,看当时内存吃到了30G,而他笔记本总共才8G内存,怀疑是内存泄漏,果断换回了原来用的PyCharm。因为我也用PyCharm学习python,深知它的内存使用基本也在1G以上,听到他这个消息,我决定还是换回我一直习惯的vim,毕竟“编辑器之神”并非浪的虚名。

  所谓打造,其实就是找一些适合自己的插件,先简单总结一些,我亲测过的几个插件。开始之前先说明一点,这里提到的几个插件都是非常强大和有名气的,但所谓适合自己的才是最好的,文中所说的缺点只是相对个人而言的感受,并不适用所有人。分享出来只是为给大家在选择时做个参考。谢谢~

1.vim插件管理器

vim-pathogen VS Vundle.vim:

这两个插件都可谓是vim的神器,用来进行vim的插件管理。pathogen配置好之后使用方便之处在于只需要把你下载的vim插件放到~/.vim/bundle(也可自定义)目录下即可,而vundel每次需要更改vimrc文件,不过vundel的方便之处在于更改完vimrc文件之后,可以直接在vim里使用:PluginInstall来进行插件的一键安装,原理就是自动从GitHub等源上自动下载。

  这里我选择的是vundle,因为可以一眼从配置文件看出我安装了哪些插件,不需要的插件直接注释掉即可。如下图Plugin部分就是我安装的插件,一目了然。

wKioL1jRSBXi1RwqAAKCfHOONeA780.png-wh_50

2.python支持

  既然是写python,那么必然要进行python的扩展,这里我测试了三个比较知名的python插件。

  • Jedi-vim - Vim bindings for the Jedi auto-completion library for Python.

  • Python-mode - An all in one plugin for turning Vim into a Python IDE.

  • YouCompleteMe - Includes Jedi-based completion engine for Python.

对我来说,自动补全,和语法检测是最终选择了使用jedi-vim。

简单说下自己的直观感受:

python-mode:

优点:能够自动补全,自带python语法检测和代码折叠等功能,很强大。

缺点:自动补全时顺带显示函数的帮助信息,页面显示不够简洁、美观;语法检测功能一般。

以下是截图示例:

wKiom1jRTCTi9pa9AALYKjuxnSc471.png-wh_50

YouCompleteMe:

优点:自动补全,界面简洁,支持多语言,功能非常强大、完整。三者之中在github上star数量最多。

缺点:可能由于功能过于强大,加语法检测之后加载相对稍慢。配置略繁琐。

wKioL1jRUJORCm4LAAPFFW3G94g455.png-wh_50

jedi-vim:

优点:优点对我来说,就是上面两个的缺点它都弥补了。加载速度挺快,页面也挺简洁。

缺点:没有语法检测;功能没YCM强大,但是够用足矣。

wKiom1jRUV-RrJ5IAAQHaoSd2Mc093.png-wh_50

So,最终我选择了jedi-vim。

3.python语法检测

  有了自动补全之后就是语法检测,个人倾向pep8标准,而且希望语法错误修正之后能够被编辑器马上识别。

  我测过用以下几种做checker:

flake8、pep257、pep8、pycodestyle、syntastic

pydocstyle、pyflakes、pylama、pylint、python

  而最终我选择了用插件:"w0rp/ale",它的语法检测最全面,界面简洁,错误修正之后能够被马上识别出,而且是异步的,不必担心加载过慢崩溃等问题。如下图:

wKiom1jRVLbwvDcIAAPouaEZgfg906.png-wh_50

4.加强版自动补全

  之前提到在vim里面python的自动补全,为了使vim的功能更加强大,介绍一款插件neocomplete.vim,使用它可谓让vim的补全无处不在。如下图它会直接补全shell路径。

需要注意一点:neocomplete requires Vim 7.3.885+ compiled with if_lua。

wKioL1jRVrXQ76JLAAP6Uu7SqZc931.png-wh_50

5.目录树插件

  目录树插件自然是NERDTree,外加一个vim-nerdtree-tabs补强功能。效果图如下:

wKiom1jRYPWyHCFeAAcatuZgXU0359.png-wh_50

  最后还是那句话,适合自己的才是最好的。





      本文转自Jx战壕  51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1909043,如需转载请自行联系原作者




相关文章
|
人工智能 IDE 开发工具
JetBrains PyCharm 2025.1 发布 - 面向专业开发者的 Python IDE
JetBrains PyCharm 2025.1 (macOS, Linux, Windows) - 面向专业开发者的 Python IDE
1728 29
JetBrains PyCharm 2025.1 发布 - 面向专业开发者的 Python IDE
|
人工智能 IDE 开发工具
Wing Pro 11.0.5 发布 - Python IDE
Wing Pro 11.0.5 (macOS, Linux, Windows) - Python IDE
388 2
Wing Pro 11.0.5 发布 - Python IDE
|
IDE 开发工具 开发者
手把手教你安装PyCharm 2025:开发者的Python IDE配置全流程+避坑指南
本教程详细介绍了PyCharm 2025版本在Windows系统下的安装流程及配置方法,涵盖AI代码补全与智能调试工具链等新功能。内容包括系统要求、安装步骤、首次运行配置(如主题选择与插件安装)、创建首个Python项目,以及常见问题解决方法。此外,还提供了切换中文界面和延伸学习资源的指导,帮助用户快速上手并高效使用PyCharm进行开发。
6763 61
|
API 数据安全/隐私保护 Python
批量发短信的软件,自动群发短信批量工具,手机号电话生成脚本插件【python】
该工具包含三个核心模块:短信发送核心功能、配置管理系统和命令行界面。使用时需先配置API密钥和短信模板
|
机器学习/深度学习 数据安全/隐私保护 计算机视觉
过三色刷脸技术,过三色刷脸技术教程,插件过人脸python分享学习
三色刷脸技术是基于RGB三通道分离的人脸特征提取方法,通过分析人脸在不同颜色通道的特征差异
|
JSON 机器人 API
微信机器人自动回复插件,vx自动回复机器人脚本助手,python框架分享
这个微信机器人系统包含三个主要模块:主程序基于itchat实现微信消息监听和自动回复功能
|
IDE 开发工具 Python
魔搭notebook在web IDE下,使用jupyter notebook,python扩展包无法更新升级
魔搭notebook在web IDE下,使用jupyter notebook,python扩展包无法更新升级,不升级无法使用,安装python扩展包的时候一直停留在installing
423 4
|
IDE 开发工具 Python
lingma IDE无法使用很多微软官方插件,代码无法点击跳转
当前环境存在以下问题:1. 无法使用微软官方插件 IntelliCode,影响代码智能补全与开发效率;2. 代码中变量点击后无法跳转定义位置(如图所示,Python导入模块无法跳转),此为重大缺陷,请尽快修复,以提升开发体验。这些问题导致的功能缺失,使当前环境与理想开发需求存在一定差距。
1252 2
|
前端开发 搜索推荐 编译器
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
2085 34
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈