• linux下Tab及shell 补全python


                                                Python自动补全

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

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

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

        简单python关键词补全
        python 函数补全带括号
        python 模块补全
        python 模块内函数,变量补全
        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交互模式下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键进行补全。如下图:

    当然了 还有别的方式同样可以实现

  • 相关阅读:
    2017.7.18 linux下ELK环境搭建
    2017.7.18 linux下用户、组和文件的操作
    action解耦方式
    action 耦合方式
    分页查询
    request,response,session
    Struts2
    hibernate中session,HQL,持久化,一对多,多对一
    hibernate 配置文件
    hibernate
  • 原文地址:https://www.cnblogs.com/senzhe/p/yijieshusheng.html
Copyright © 2020-2023  润新知