在 Vim 中编写 Python 程序 |
|---|
| 作者:Xie Yanbo 2005-01-31 15:11:52 来自:http://wiki.woodpecker.org.cn |
|
if has("autocmd") " 自动检测文件类型并加载相应的设置 " Python 文件的一般设置,比如不要 tab 等 " Python Unittest 的一些设置 " 自动使用新文件模板 endif 最中间的是关于 unittest 的一些设置。第一条把 python 文件的编译器设置为 pyunit。第二条设置 python 文件的 make 操作为执行 python ./alltests.py 这样的一条命令;这样对于任何一个 .py 文件,我们就可以在 VIM 的命令模式键入 :make 回车来执行对整个模块的测试了,如果你喜欢用 Gvim,你也可以用鼠标点击工具栏上的 make 快捷按钮来执行这一操作。第三条把名字为 test*.py 的文件的 make 操作设置为只执行该 test 文件,这样我们在编写一个特定的测试程序时,就不需要每次都把所有的测试代码都运行一遍了。 上面设置中,最后的几行可以保证我在编写一个新文件时,Vim 会自动根据文件名替我选择一个模板文件,这样我需要键入的代码就可以更少了 :D 你可以下载我使用的完整的 .vimrc 文件,还有前面配置中用到的模板文件:skeleton.py、test.py 和 alltests.py。 上面的设置都我在自己的 Linux 中使用的,所有的路径名都是 Linux/Unix 的格式。如果你有需要,可以使用 Windows 的路径名代替它们,比如这样: autocmd FileType python setlocal makeprg=\"C:\\Program\ Files\\Plone 2\\Python\\python\"\ ./alltests.py 给要调用的 Python 加上全路径。要注意的是,这里面出现的任何空格都要以转义形式出现,就是前面要加上反斜线 \;其它的特殊字符也要做相应的转义,比如 Windows 风格的路径分隔符 \,还有双引号 "(Windows 里要使用的文件名、路径如果包含空格,一定记得把它们用双引号包裹起来)。 注:我已经发现 Vim 6.1 的 make 操作调用的命令行有误,它不能把程序的所有输出全部捕捉到,我们 PyUnit 的输出也会受这个 bug 的连累。建议使用 Vim 的最新版本,比如现在的 6.3 已经修正这个 bug。 " python auto-complete code (编辑:nuthead)
|