- 作者: 刘鑫 - 发源地: Python中文社区

.. 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

\\\\\\\\\\\\\\\\\\\\\\\\\\\\

- 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代码折叠:

- 3、集成运行与调试:

打开“RunScript.vim”文档,找到Python路径设置部分,将其改为当前计算机的Python安装路径,

存盘后将“RunScript.vim”复制到plugin目录下,从此拥有集成运行功能。

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会返回::

On 2004-07-19 23:44:1090251888 +0800, Zoom.Quiet wrote: > Hollo HD: > > 辛苦了! > “单元测试” > 非常重要,这些指南将为 Python 开发可复用的,高质量代码起决定性作用!

单元测试我一般是在c这样的一个文件做为模板:

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 服务器进行远程开发的!

我们的经验

收集同志们使用Vim 开发Python 的经验,技巧,故事等等

致谢


感谢Zoom.Quiet、Qiangning Hong、Who Bruce的帮助!

没有你们,我可能永远也学不会怎么用VIM::

- Zoom.Quiet reST 整理
- Zoom.Quiet 040719 Moin 整理

-- Zoom.Quiet [2004-08-09 23:27:59]

PyIDEguider (last edited 2009-12-25 07:09:07 by localhost)