将Vim打形成Python快速开发环境(一)

一直以来博主都是用阳春版的Vim来撸Python的,vimrc里只有些配色、键位、tab设置之类的小功能。中间也被安利过一些高大上的IDE,试用过JetBrains PyCharm CE、Wing IDE和eclipse+pydev,感受这些软件里诸如code navigation,refactor,documentation这些功能的确很是强大,可是IDE的工做模式始终为我所不喜:原本能够快速开始干活的,非要经历等个好几秒钟(甚至好几分钟若是是公司的PC)打开软件,新建project,选择interpreter,取个名字,选个目录,添加文件……这一系列动做之后,一开始想的什么已经全然不记得了。咱们使用Python的一大理由就是人生苦短我用Python能快速抓住灵感,马上动手建模。须要Python平常处理的问题有可能一个小脚本就解决了,这种状况最好用的工具实际上是文本编辑器。只有当问题解决了,灵感抓住了,原型创建起来了以后,咱们发现须要进一步完善,或者能够修改以加强通用性,或者须要发布给别人使用时,才须要动用到IDE。因此说呢,在博主看来,相似Vim的,具有基本到高阶代码编辑功能,能够快速打开先写程序再保存的文本编辑器才是能让你第一时间进入须要处理问题的领域绝佳的工具。php

好吧,吐槽结束。本文将假设您跟我相似,是一位有经验的Vim用户,能熟练运用C-w、C-v、m、q等较为高阶的功能,却不多折腾配置(因此这篇博文还能对您有些价值)。这样的话,您可能会发现,当Python文件大于500行,import的module多于10个且有些不是很熟悉以后,用Vim所提高的那部分工做效率,会被不停地查文档给降了下来。而您跟我同样,又以为在源代码小于5000行的状况下用IDE简直是杀鸡用牛刀,因此对500到5000行的活儿找不到合适的工具这件事很是苦恼。这样的话,就跟我一块儿开始折腾吧。
python

编译64-bit的Vim

首先呢,因为有的Vim插件使用了Python(好比等会咱们要用到的python-mode),咱们的Vim必须支持Python。若是您跟我同样历来都是从Vim官网的下载页下载Vim的话,这个官方编译版本已经附带了Python支持,只是这个Vim是32位的。用:version命令能够看到Vim的版本和编译选项,以下图。git

使用命令:echo has('python')能够看到是否运做正常。可是很不幸,因为种种缘由博主使用了Anaconda的64-bit套装,输入命令:echo has('python')显示的是 0。Vim官网并未提供编译好的64位Vim安装文件,只提到若是须要64位支持请使用alternative distribution,而官网给出的64位第三方发布版本页面已经申明中止维护(汗),并把博主带到了这里。看来看去,这些第三方发布的版本无非是集成了patch,既然这样,咱们为什么不按本身的要求编译一个最适合本身的版本呢?github

而后博主找到了尹良灿先生博客上的这篇文章,试验了一下,发现编译Vim其实很是简单。shell

工做环境

咱们须要patch,C编译器,资源编译器,make等整套工具以及一个shell,这里博主使用的是msys64,也就是新的mingw和msys的64位版。(关于msys64的安装和配置,博主后面有时间会再说明。)
vim

下载Vim源代码和补丁

首先要下载Vim的源代码和补丁,鉴于国内的网络连Vim官网FTP简直慢到使人发指,咱们仍是用中科大的Vim镜像(顺便称赞一下中科大、北理工等高校和机构,他们真是国内开源事业的基石啊!)windows

mkdir ~/makevim
cd ~/makevim
wget -c http://mirrors.ustc.edu.cn/vim/pc/vim74src.zip
wget -c http://mirrors.ustc.edu.cn/vim/pc/vim74rt.zip
unzip vim74src.zip
unzip vim74rt.zip
mkdir patches
cd patches
wget -c -r -np -nd -e robots=off https://mirrors.ustc.edu.cn/vim/patches/7.4/
cd ..
tar cvf patches.tar patches/

打包patches其实没啥意义,是为了万一弄错好备用,由于下载778个补丁文件真的有点麻烦(笑)。网络

给源代码打补丁

接下来就是把这778个补丁打进源代码,确保cwd是~/makevim/vim/vim74,而后使用下面的命令。eclipse

cd vim/vim74
for file in ../../patches/*; do patch -f -s -Np0 -i $file; done

因为咱们下载了全部的补丁文件,里面包含了对其余系统(如OS/2什么的)的补丁,若是只是编辑器

patch -Np0 -i <patch_file>

的话,中间patch会由于找不到文件频繁提问让咱们skip。因此这里直接加上-f -s选项,就是为了省下敲键盘的时间。

开始编译

补丁打好以后就能够开始编译了。用下面的make命令就能够。博主不会使用Ruby、Perl或者Lua(电脑上也没有装,也不知道缺乏了这些会怎么样,反正要的时候再编译一遍也很容易)Python也只用2.7,因此这里就没加上这些语言的支持(若是您须要的话,也能够很容易添加)。

make -f Make_cyg_ming.mak CC=x86_64-w64-mingw32-gcc RC=windres ARCH=x86-64 PYTHON=/c/Users/NicholasYF/Anaconda PYTHON_VER=27 DYNAMIC_PYTHON=yes -j5 GUI=yes STATIC_STDCPLUS=yes OLE=yes FEATURES=HUGE USERNAME=NicholasYfZhou USERDOMAIN=msys64

编译速度还算快,好了之后咱们获得gvim.exe等文件,就算完成了。因为编译选项里已经指定了Python的目录,因此这一次用:version命令咱们能够看到:


看到Included patches: 1-778了吗?第一步即将大功告成!

须要命令行vim.exe的话,还能够改一下编译开关GUI=no,再make一下。若是要集成到Windows系统,先移动几个文件:

mv *.exe ..
mv GvimExt/gvim.dll ..

再以管理员身份运行~/vim/vim74/install.exe,选择d,install.exe将会在桌面和开始菜单创建快捷方式,在windows目录创建批处理文件,并将“Edit with Vim”集成到右键菜单。

相关文章
相关标签/搜索