Python 自动补全(vim)

yipeiwu_com6年前Python基础

一、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交互模式下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批量生成任意尺寸的图片

利用Python批量生成任意尺寸的图片

实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片。 效果如下: 目录结构 实现示例 # -*- coding: ut...

基于pytorch 预训练的词向量用法详解

如何在pytorch中使用word2vec训练好的词向量 torch.nn.Embedding() 这个方法是在pytorch中将词向量和词对应起来的一个方法. 一般情况下,如果我...

实时获取Python的print输出流方法

我的应用场景是:使用shell执行python文件,并且通过调用的返回值获取python的标准输出流。 shell程序如下: cmd='python '$1' '$2' '$3' '...

详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数

hasattr()函数 hasattr()函数用于判断是否包含对应的属性 语法: hasattr(object,name) 参数: object--对象 name--字符串,属性名 返回...

详解使用python crontab设置linux定时任务

熟悉linux的朋友应该知道在linux中可以使用crontab设置定时任务。可以通过命令crontab -e编写任务。当然也可以直接写配置文件设置任务。 但是有时候希望通过脚本自动设置...