免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2153 | 回复: 0
打印 上一主题 下一主题

在 Vim 中编写 Python 程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-23 15:03 |只看该作者 |倒序浏览
在 Vim 中编写 Python 程序 -- xyb [2004-09-21 00:21:07]
目录

  • 在 Vim 中编写 Python 程序

  • vimrc

  • 单元测试

  • 代码自动完成

    1. 在 Vim 中编写 Python 程序
    本文档介绍如何在 Vim 中更方便的编写 Python 程序。
    作者:Xie Yanbo,版权:创作共用/cc 1.0
    1.1. vimrc
    .vimrc 是 Vim 的用户配置文件,我们的大多数定制都得在这个文件中设置。在 Windows 中,它的文件名为 _vimrc。
    1.1.1. 单元测试
    下面是我的 .vimrc 中与 Python 单元测试相关的设置,你可以直接把它们拷贝到你的 vimrc 文件中使用。
    if has("autocmd")
      " 自动检测文件类型并加载相应的设置
      filetype plugin indent on
      " Python 文件的一般设置,比如不要 tab 等
      autocmd FileType python setlocal et | setlocal sta | setlocal sw=4
      " Python Unittest 的一些设置
      " 可以让我们在编写 Python 代码及 unittest 测试时不需要离开 vim
      " 键入 :make 或者点击 gvim 工具条上的 make 按钮就自动执行测试用例
      autocmd FileType python compiler pyunit
      autocmd FileType python setlocal makeprg=python\ ./alltests.py
      autocmd BufNewFile,BufRead test*.py setlocal makeprg=python\ %
      " 自动使用新文件模板
      autocmd BufNewFile test*.py 0r ~/.vim/skeleton/test.py
      autocmd BufNewFile alltests.py 0r ~/.vim/skeleton/alltests.py
      autocmd BufNewFile *.py 0r ~/.vim/skeleton/skeleton.py
    endif

    中间的是关于 unittest 的一些设置。第一条把 python 文件的编译器设置为 pyunit。第二条设置 python 文件的
    make 操作为执行 python ./alltests.py 这样的一条命令;这样对于任何一个 .py 文件,我们就可以在 VIM
    的命令模式键入 :make 回车来执行对整个模块的测试了,如果你喜欢用 Gvim,你也可以用鼠标点击工具栏上的 make
    快捷按钮来执行这一操作。第三条把名字为 test*.py 的文件的 make 操作设置为只执行该 test
    文件,这样我们在编写一个特定的测试程序时,就不需要每次都把所有的测试代码都运行一遍了。
    上面设置中,最后的几行可以保证我在编写一个新文件时,Vim 会自动根据文件名替我选择一个模板文件,这样我需要键入的代码就可以更少了


    你可以下载我使用的
    完整的 .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
      autocmd BufNewFile,BufRead test*.py setlocal makeprg=\"C:\\Program\ Files\\Plone 2\\Python\\python\"\ %

    要调用的 Python 加上全路径。要注意的是,这里面出现的任何空格都要以转义形式出现,就是前面要加上反斜线
    \;其它的特殊字符也要做相应的转义,比如 Windows 风格的路径分隔符 \,还有双引号 "(Windows
    里要使用的文件名、路径如果包含空格,一定记得把它们用双引号包裹起来)。
    注:我已经发现 Vim 6.1 的 make 操作调用的命令行有误,它不能把程序的所有输出全部捕捉到,我们
    PyUnit
    的输出也会受这个 bug 的连累。建议使用 Vim 的最新版本,比如现在的 6.3 已经修正这个 bug。
    1.1.2. 代码自动完成
    另外,我还使用了
    pydiction
    ,这是一个相当不错的 Python 代码自动完成的脚本。为了使用这个功能,我把它放在了 ~/.vim/tools 目录中,并在 .vimrc 中增加如下设置:
    " python auto-complete code
    " Typing the following (in insert mode):
    "   os.lis
    " will expand to:
    "   os.listdir(
    " Python 自动补全功能,只需要反覆按 Ctrl-N 就行了
    if has("autocmd")
      autocmd FileType python set complete+=k~/.vim/tools/pydiction
    endif
                   
                   
                   

    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/42223/showart_366051.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP