- 作者: 刘鑫 - 发源地: Python中文社区
Contents
.. Contents:: 索引
注意
这里所讲的,都是最最简单的技巧和经验。它不能使你成为VIM或Python高手,本文的目的在于帮助绝对菜鸟用最短的时间选择适合自己的工具,以及学会将配置VIM为自己的主要Python开发工具。这样,他可以有一个尽可能好的开始:)。
最基本选择
如果你希望在最短的时间内开始Python生涯,那么, 我推荐Python内置的命令行模式和IDLE:
- 前者是最直接最轻巧的工作界面,适合每次只在Python上运行单行脚本和表达式的朋友——很多时候,我就是这么用Python的; - 后者是Python内置的GUI界面IDE,虽然不够华丽,但非常实用,它可以设置断点,跟踪调试Python脚本,根据脚本设定订制其编码(如果中文支持不够理想,请安装CJKPython扩展)。甚至当你拥有了更强大的IDE以后,也不应该忘记,最朴素最实用的IDLE,时刻伴随着你。
更快,更好,更多
随着工作的展开,你越来越离不开Python了,我想很多朋友都不会再满足于只使用IDLE。毕竟,它太慢了,而且不够华丽。
"PythonWin"的IDE
PythonWin中有一个很出色的IDE,功能强大而且齐全,速度也非常快,但它对多内码的支持非常差,如果你只说英语,这倒不是什么大问题。当然,如果你也不在乎它时不时的在内存管理上犯点儿错误……
强悍的Emacs
文本编辑器的至尊王者,只用过Windows记事本的人永远也没办法想像它的强大。但是,它也不是很容易学习的。如果你需要一个“无所不能”的工具,并且不在乎付出大量的学习时间,那么这是一个不错的选择。
VIM
轻巧快捷,与Emacs相近的扩充能力,跨平台,多语言,久经考验。在我用过的各种文本编辑器中,它是唯一一个有资格与Emacs相比的。由于它比较容易学习,我推荐新手从这里开始。
下载和安装VIM
请访问http://vim.sourceforge.net/ ,下载新版的VIM,
在这里,可以下载最新版的VIM程序、运行时文件、安装包、扩充脚本等等。 这里,我们需要一个最新版的VIM二进制程序(也可以直接下载安装包,不过,对Windows用户我有别的建议:))。
Vim脚本
然后请在这个网站上按“Python”关键字搜索与Python有关的脚本,这里我们需要
- 一个“RunScript.vim”(http://vim.sourceforge.net/scripts/script.php?script_id=127), - 一个“Python_fold.vim”(http://vim.sourceforge.net/scripts/script.php?script_id=515), - 一个“pyCallTips.py”(http://vim.sourceforge.net/scripts/script.php?script_id=1074),
你也可以根据喜好和需要多下载一些。
另外,在sourceforge上还可以搜到cream-vim项目(搜索vim关键字,cream就是第二项),他们提供的VIM不是太稳定,但是Windows用户先下载一个吧,我们一会儿用得到。
安装VIM
- 现在,请根据你的平台安装VIM,Windows用户不妨安装Cream提供的VIM(先不要安装Cream外壳吧,这个不在本文讨论的范围),这样就可以额外拥有快捷菜单、自动语法加亮等功能(其实以前的VIM安装盘都有提供,不知道为什么最近下载的这一版没有这部分脚本)。然后用你从VIM网站上下载的VIM执行程序替换掉安装上的Cream-VIM。 如果需要中文文档,请访问http://vcd.cosoft.org.cn/pwiki/index.php 新用户请在安装后阅读帮助文档,重点学习在VIM中执行命令、折叠代码、设置语言这几部分。
配置VIM
\\\\\\\\\\\\\\\\\\\\\\\\\\\\
- 1、多语言支持:VIM安装路径下有一个文件,名为_vimrc,打开它(我就是用VIM来编辑的,呵呵),
加入以下代码
let &termencoding = &encoding set encoding=utf-8 set fileencodings=ucs-bom,utf-8,cp936
三行代码,从此告别中文问题!
如果打开个别文件时仍会出现乱码,请尝试执行::
:e
刷新编辑区;或执行::
:edit ++enc=cp936
强制设定当前编辑区的编码。
各命令的含义请参见帮助文档,理解它们会给你的工作带来极大方便! 如果你使用Cream版本的VIM,设置编码时可能会给你带来很多麻烦,请将可执行文件换成正宗的VIM版,或直接安装普通的VIM好了! 如果加上以上代码后,导致菜单乱码等问题,请将以上代码移至_vimrc文件的末尾。
- 2、Python代码折叠:
- 将前面下载的“Python_fole.vim”复制到ftplugin目录下,即自动拥有代码折叠功能。zo、zc命令分别为打开和折叠代码——注意,这里没有“:”。完整的代码折叠教程请阅读帮助文档。
- 3、集成运行与调试:
打开“RunScript.vim”文档,找到Python路径设置部分,将其改为当前计算机的Python安装路径,
存盘后将“RunScript.vim”复制到plugin目录下,从此拥有集成运行功能。
- - F11键将当前输入窗设为“Start Program”, - F9键打开输出缓冲区, - F12执行当前脚本——这里有一个小陷阱,F9之后,光标自动跳转到输出窗,如果没有将代码区设为“Start Program”,也没有将光标移回到编辑区,
PYUNIT 编 译 器
这其实不是一个编译器,而是一个为 Python 语言而设的单元测试工具。 从版本 2.0 起,它就在标准的 Python 发布中。对老版本,你可以在这里获得: http://pyunit.sourceforge.net 。
当你运行测试时,Vim 会解析错误并进入到 quick-fix 模式。
不幸的是,没有一个运行测试的标准方法。 一般都会用使用 alltest.py。 有关 'makeprg' 选项就可以这样设定:
setlocal makeprg=./alltests.py " Run a testsuite setlocal makeprg=python % " Run a single testcase
另外,参考 http://vim.sourceforge.net/tip_view.php?tip_id=280.
直接按F12会返回::
%PythonHome%\python.exe: can't open file 'Output'
On 2004-07-19 23:44:1090251888 +0800, Zoom.Quiet wrote: > Hollo HD: > > 辛苦了! > “单元测试” > 非常重要,这些指南将为 Python 开发可复用的,高质量代码起决定性作用!
单元测试我一般是在c这样的一个文件做为模板:
--- Xie Yanbo <[email protected]>
from unittest import TestCase class exampleTest(TestCase): def setUp(self): pass def tearDown(self): pass def testExample(self): self.assertEqual(len('0'), 1) if '__main__' == __name__: import unittest unittest.main()
下一步
\\\\\\\\\\\\\\\\\\\\\\
对于新手来讲,这些功能应该可以初步满足你的需要了。接下来,也许应该专注于Python编程一段时间,也许应该仔细研究一下VIM,或者装一个CVS……
Cream--美好的冰淇淋
` 对于从 M$ 平台跨入开源软件(或是说 Liunx 世界)的人,已有的编辑器习惯难以改变,
特别是 UE EditPlus 的资深用户,更是难以割舍原来的习惯快捷键!
现在你可以使用 Cream for Vim 令 Vim 变幻为一个跨平台的 UE/EditPlus!
FTP/WebDav..远程访问
` 不用怀疑!Vim can do it!
文档编写
` 好的软件,精彩友好的文档同样重要!
Vim 可以快速集成一系列的文档工具,跨平台的进行文档编写
惊奇杂技
虽然对象Vim 一直在 Emacs 的阴影之下,但是!
日历
' 有多种版本的Vim脚本支持, Cream 也有一个包含在内,不过 好象还没有阴历的..
工程管理
' 难以忘记UE 智能的记忆每个工程,每次打开的文件,Vim...
Zope 开发
' 不用怀疑!Vim 支持FTP/WebDav 方式联接Zope 服务器进行远程开发的!
VimPythonTDD -- xyb的贡献
感谢Zoom.Quiet、Qiangning Hong、Who Bruce的帮助! 没有你们,我可能永远也学不会怎么用VIM:: [email protected] 2004-04-16 -- Zoom.Quiet [2004-08-09 23:27:59] 我们的经验
收集同志们使用Vim 开发Python 的经验,技巧,故事等等 致谢
- Zoom.Quiet reST 整理
- Zoom.Quiet 040719 Moin 整理