Python自动补全

    Python自动补全有vim编辑下和python交互模式下,下面分别介绍如何在这2种情况下实现Tab键自动补全。

    一、vim python自动补全插件:pydiction

    可以实现下面python代码的自动补全:

    1. 简单python关键词补全
    2. python 函数补全带括号
    3. python 模块补全
    4. python 模块内函数,变量补全
    5. from module import sub-module 补全

    想为vim启动自动补全需要下载插件,地址如下:
    http://vim.sourceforge.net/scripts/script.php?script_id=850
    https://github.com/rkulla/pydiction

    安装配置:

    wget https://github.com/rkulla/pydiction/archive/master.zip
    unzip -q master
    mv pydiction-master pydiction
    mkdir -p ~/.vim/tools/pydiction
    cp -r pydiction/after ~/.vim
    cp pydiction/complete-dict ~/.vim/tools/pydiction

    确保文件结构如下:

    # tree ~/.vim
    /root/.vim
    ├── after
    │   └── ftplugin
    │       └── python_pydiction.vim
    └── tools
        └── pydiction
            └── complete-dict

    创建~/.vimrc,确保其中内容如下:

    # cat ~/.vimrc
    filetype plugin on
    let g:pydiction_location = '~/.vim/tools/pydiction/complete-dict'

    用vim编辑一个py文件,import os.,这时候应该出现提示,证明成功,如下图

    Python自动补全

    二、python交互模式下Tab自动补齐
    创建文件如下:

    # cat ~/.pythonstartup
    # python startup file
    #!/usr/bin/env python
    import sys
    import readline
    import rlcompleter
    import atexit
    import os
    # tab completion
    readline.parse_and_bind('tab: complete')
    # history file
    histfile = os.path.join(os.environ['HOME'], '.pythonhistory')
    try:
        readline.read_history_file(histfile)
    except IOError:
        pass
    atexit.register(readline.write_history_file, histfile)
     
    del os, histfile, readline, rlcompleter
    1
    	
    echo 'export PYTHONSTARTUP=~/.pythonstartup' >> ~/.bash_profile

    重新登陆shell,输入python命令进入交互模式,就可以用Tab键进行补全。如下图:

    Python自动补全

    Sat May 11 23:23:36 CST 2013

    • 本文由 发表于 2013-05-11
    • 转载请务必保留本文链接:https://linuxeye.com/324.html
    腾讯云COS上传、批量删除工具(Python) 脚本

    腾讯云COS上传、批量删除工具(Python)

    腾讯云对象存储COS是类似于阿里云OSS,相比OSS,COS提供每月免费额度:存储空间50G、外网访问流量10G(内网免费)、免费读请求100万次、写请求10万次。对网站备份来说不错,但是,腾讯云提供...
    Python多线程抓取代理服务器 Linux

    Python多线程抓取代理服务器

    Python作为一门功能强大的脚本语言来说,经常被用来写爬虫程序,下面是Python爬虫多线程抓取代理服务器。 年前是用 //linuxeye.com/340.html 来抓取代理服务器的,谁知道过完...
    Python实现文件的全备份和差异备份 Linux

    Python实现文件的全备份和差异备份

    之前有写利用md5方式来做差异备份,但是这种md5方式来写存在以下问题: md5sum获取有些软连接的MD5值存在问题 不支持对空目录进行备份,因为md5sum无法获取空目录的md5值 权限的修改md...
    匿名

    发表评论

    匿名网友