Python 自动补全(vim)


Posted in Python onNovember 30, 2014

一、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 自动补全(vim)

二、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 自动补全(vim)

Python 相关文章推荐
wxPython中listbox用法实例详解
Jun 01 Python
Python抓取手机号归属地信息示例代码
Nov 28 Python
详解python中的json和字典dict
Jun 22 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
Oct 18 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
Jun 27 Python
用Python获取摄像头并实时控制人脸的实现示例
Jul 11 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
Aug 05 Python
python 函数嵌套及多函数共同运行知识点讲解
Mar 03 Python
keras读取训练好的模型参数并把参数赋值给其它模型详解
Jun 15 Python
Python的控制结构之For、While、If循环问题
Jun 30 Python
Python无损压缩图片的示例代码
Aug 06 Python
python_tkinter弹出对话框创建
Mar 20 Python
给Python IDLE加上自动补全和历史功能
Nov 30 #Python
让 python 命令行也可以自动补全
Nov 30 #Python
Python lambda和Python def区别分析
Nov 30 #Python
Python内置函数之filter map reduce介绍
Nov 30 #Python
Python Queue模块详解
Nov 30 #Python
Python socket C/S结构的聊天室应用实现
Nov 30 #Python
Python open()文件处理使用介绍
Nov 30 #Python
You might like
PHP stripos()函数及注意事项的分析
2013/06/08 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
2014/02/18 PHP
php提取字符串中网站url地址的方法
2014/12/03 PHP
php通过记录IP来防止表单重复提交方法分析
2014/12/16 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
php编程中echo用逗号和用点号连接的区别
2016/03/26 PHP
JavaScript触发器详解
2007/03/10 Javascript
javascript 解析url的search方法
2010/02/09 Javascript
event.currentTarget与event.target的区别介绍
2012/12/31 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
jquery实现简单文字提示效果
2015/12/02 Javascript
一系列Bootstrap导航条使用方法分享
2016/04/29 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
bootstrap table动态加载数据示例代码
2017/03/25 Javascript
详解Node.js 命令行程序开发教程
2017/06/07 Javascript
React组件refs的使用详解
2018/02/09 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
微信小程序中使用echarts的实现方法
2019/04/24 Javascript
NodeJS 文件夹拷贝以及删除功能
2019/09/03 NodeJs
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
2020/01/22 Javascript
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
[01:38]DOTA2 2015国际邀请赛中国区预选赛 Showopen
2015/06/01 DOTA
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
centos下更新Python版本的步骤
2013/02/12 Python
Python代理抓取并验证使用多线程实现
2013/05/03 Python
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
基于Python实现的ID3决策树功能示例
2018/01/02 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
Python request中文乱码问题解决方案
2020/09/17 Python
你不知道的5个HTML5新功能
2016/06/28 HTML / CSS
使用HTML5进行SVG矢量图形绘制的入门教程
2016/02/19 HTML / CSS
关于html字符串正则判断和匹配的具体使用
2019/12/12 HTML / CSS
会计专业毕业生自我鉴定
2013/10/29 职场文书
校园广播稿100字
2014/10/06 职场文书
纪律委员竞选稿
2015/11/19 职场文书
关于React Native使用axios进行网络请求的方法
2021/08/02 Javascript