今天同事小伙伴忽然告诉我说,他用的编辑器sublime3致使笔记本忽然卡顿,看当时内存吃到了30G,而他笔记本总共才8G内存,怀疑是内存泄漏,果断换回了原来用的PyCharm。由于我也用PyCharm学习python,深知它的内存使用基本也在1G以上,听到他这个消息,我决定仍是换回我一直习惯的vim,毕竟“编辑器之神”并不是浪的虚名。html
所谓打造,其实就是找一些适合本身的插件,先简单总结一些,我亲测过的几个插件。开始以前先说明一点,这里提到的几个插件都是很是强大和有名气的,但所谓适合本身的才是最好的,文中所说的缺点只是相对我的而言的感觉,并不适用全部人。分享出来只是为给你们在选择时作个参考。谢谢~python
1.vim插件管理器git
vim-pathogen VS Vundle.vim:github
这两个插件均可谓是vim的神器,用来进行vim的插件管理。pathogen配置好以后使用方便之处在于只须要把你下载的vim插件放到~/.vim/bundle(也可自定义)目录下便可,而vundel每次须要更改vimrc文件,不过vundel的方便之处在于更改完vimrc文件以后,能够直接在vim里使用:PluginInstall来进行插件的一键安装,原理就是自动从GitHub等源上自动下载。shell
这里我选择的是vundle,由于能够一眼从配置文件看出我安装了哪些插件,不须要的插件直接注释掉便可。以下图Plugin部分就是我安装的插件,一目了然。vim
2.python支持app
既然是写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.ide
YouCompleteMe - Includes Jedi-based completion engine for Python.
对我来讲,自动补全,和语法检测是最终选择了使用jedi-vim。
简单说下本身的直观感觉:
python-mode:
优势:可以自动补全,自带python语法检测和代码折叠等功能,很强大。
缺点:自动补全时顺带显示函数的帮助信息,页面显示不够简洁、美观;语法检测功能通常。
如下是截图示例:
YouCompleteMe:
优势:自动补全,界面简洁,支持多语言,功能很是强大、完整。三者之中在github上star数量最多。
缺点:可能因为功能过于强大,加语法检测以后加载相对稍慢。配置略繁琐。
jedi-vim:
优势:优势对我来讲,就是上面两个的缺点它都弥补了。加载速度挺快,页面也挺简洁。
缺点:没有语法检测;功能没YCM强大,可是够用足矣。
So,最终我选择了jedi-vim。
3.python语法检测
有了自动补全以后就是语法检测,我的倾向pep8标准,并且但愿语法错误修正以后可以被编辑器立刻识别。
我测过用如下几种作checker:
flake八、pep25七、pep八、pycodestyle、syntastic
pydocstyle、pyflakes、pylama、pylint、python
而最终我选择了用插件:"w0rp/ale",它的语法检测最全面,界面简洁,错误修正以后可以被立刻识别出,并且是异步的,没必要担忧加载过慢崩溃等问题。以下图:
4.增强版自动补全
以前提到在vim里面python的自动补全,为了使vim的功能更增强大,介绍一款插件neocomplete.vim,使用它可谓让vim的补全无处不在。以下图它会直接补全shell路径。
须要注意一点:neocomplete requires Vim 7.3.885+ compiled with if_lua。
5.目录树插件
目录树插件天然是NERDTree,外加一个vim-nerdtree-tabs补强功能。效果图以下:
最后仍是那句话,适合本身的才是最好的。