当前位置:编程学习 > 网站相关 >>

vim针对python万能补全介绍

vim 针对 python 的万能补全对于 python 自带的模块库都能够正常使用全能补全,但一些自定义的模块却不行,这是因为vim当前进程需要找到相应模块并做导入分析获取补全用的词汇,对于部分自定义的模块存放的路径 vim 它不知道要从这里找,所以补全功能会失效,此是就和 python 的path环境变量相关。 有几种方式可以解决此问题.

1.通过修改 PYTHONPATH 环境变量:  PYTHONPATH=$HOME/libs/python  ,将模块存放的目录赋给变量PYTHONPATH,多个目录中间用冒号隔开,如果在终端下使用 vim 可以修改 ~/.bashrc 文件 ,如果是用 gvim 可以修改 ~/.profile 文件,这样就可以默认打开 vim 就会启用设置好的 PYTHONPATH 变量 .

2.在 vim 启动设定文件里添加修改 PYTHONPATH 的代码: 修文件  ~/.vimrc 添加下面行
  let $PYTHONPATH .= ":/home/gnolux/develop/python/google_appengine:/home/gnolux/develop/python/google_appengine/lib/webob"

3.使用 python 本身的特定加载方式:
  可以在 .local/lib/python2.6/site-packages 目录下添加以 .pth 为扩展名的文件,文件内客每行是一个模块的目录,python 启动时会自动查找这个目录下所有.pth 文件,并解析文件内容,将目录添加为模块搜索路径.

第一种方法操作比较麻烦,而且如果想生效还需要重启终端,第二种方式对于项目比较小的通过手工添加也可以接受,推荐使用第三种方法,对于模块很多的情况下,我们可以用命令的方式,自动将相关目录添加到 pth 文件里,如下:

find  ~/.local/lib -type d  -print > ~/.local/lib/python2.6/site-packages/python_path.pth

将 .local/lib 目录下所有目录添加到 path.pth 文件,因为我都把自已的模块或第三方模块放在 lib 目录下,详细可以查一下 find 命令帮助.
  • 来源:
  • 补充:Web开发 , Python ,
    CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
    部份技术文章来自网络,