搭建基于VIM的Python IDE(续)

  mikeshi
  Python相关
  2011-04-18
   vim  ide  python  增加更多TAG »
  4,601次

(本文收录于go4pro.org

上次说到哪里?哦,说到我要累死了,哈哈!

上次写了大半,但是写到后面实在太累了,所以有些地方没有写详细,加上令狐提了点有益的意见,决定补完它——嗯,我已经写过太多太监帖了,希望这个有“下面”。

上次说到了NERDTree和TagList,看来令狐也是用这两个的,所以他建议加上一点儿按键映射方便,的确,加上后会非常方便,我是这样设置的

let Tlist_Use_Right_Window=1
let Tlist_Show_One_File=1
nnoremap <silent> <F8> :TlistToggle<CR>
let NERDTreeChDirMode=2
nnoremap <silent> <F4> :NERDTreeToggle<CR>

我是把TagList的窗口放到右边去的,而且,不是显示所有Buffer的Tags,我更喜欢只显示当前编辑的Buffer的tags。而NERDTreeChDirMode设置为2是让VIM的当前路径和NERDTree的当前根路径一致。而NERDTree的当前根目录,可以通过在NERDTree窗口里选中目录然后Shift+C,也就是大写的C啦来设定。这个对我们编程是很有用的。NERDTree有很多有用的快捷键,可以通过输入问号看个究竟,建议花点精力好好学习一下,对以后的工作是很有帮助。

由于Python对格式是非常严格的,建议大家用一些格式检查工具检查格式。我比较喜欢PEP8,毕竟这个是比较官方的解决方案。同样的,VIM也有插件对应,还不止一个。不过我选了这个,因为就这个在几个平台上都比较正常,其他的会有些怪现象,尤其是Windows。需要安装pep8这个工具,使用easy_install是很简单的一件事:easy_install pep8,如果是*nix平台,就前面加个sudo吧。然后按F6(默认设定,可以修改,参考它的文档),就会自动调用pep8来做validate了,错误会出在QuickFix窗口,所以很容易定位修改。

然后就是运行,或者说测试Python了,因为在Python文件里写类似:

if __name__ == ‘__main__’:

unittest()

是常有的事。这样编写完后,如果可以直接运行UnitTest然后看结果,就太好了。其实很简单的,只要在vimrc里写上

au BufRead *.py map <buffer> <F5> :w<CR>:!/usr/bin/env python % <CR>

这句话很简单,就是在Buffer Read的时候,如果是python文件,就把F5键映射为先保存,然后用Python运行本Buffer的文件,简单吧?

最后说一下文档功能吧。如果你用VIM编写过C语言,就会知道可以通过Shift+K(就是大写的K啦),来调用man命令来查询光标下的函数的解释,这个真是非常方便。Python编程也可以这样就爽了。

其实这并非难事,只要这个插件:pydoc.vim,然后按K就OK了——囧,MacOSX下又失灵了,囧啊囧,好吧,Windows上是正常的⋯⋯

好了,基本上这样就算是个够用的Python IDE了——什么?还有Debug没说?Python上的问题,基本都要靠UnitTest来搞定啦,VIM上确实没有什么称手的Debug插件,不过话又说回来了,一般UnitTest加logging就全能出来了,通常用PDB只能发现自己的脑残行为,切记,切记⋯⋯

对了,最后说一句,如果你还不熟悉VIM,那么即使你跟我这样配置出来了,也效率很低的,还是老老实实学一遍VIM吧,这个东西,一旦学会,收益无穷啊,比如今天我面试了一个同学,他竟然对VIM相当熟悉,我一下子就对他有了好感,哈哈


除非另有来自Go4Pro.org或原作者的显式声明,本站点所有文章都按照知识共享许可协议知识共享署名-非商业性使用-禁止演绎 3.0 未本地化版本许可协议进行许可。

Go4Pro.org,V3.0,2009-2014。本站点采用SymfonyBootstrapTwig等技术开发。