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 相关文章推荐
Python3.0与2.X版本的区别实例分析
Aug 25 Python
Python中集合类型(set)学习小结
Jan 28 Python
Python字符串格式化的方法(两种)
Sep 19 Python
Django 中使用流响应处理视频的方法
Jul 20 Python
python3使用print打印带颜色的字符串代码实例
Aug 22 Python
使用python实现多维数据降维操作
Feb 24 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
Mar 14 Python
使用python客户端访问impala的操作方式
Mar 28 Python
Python Scrapy图片爬取原理及代码实例
Jun 12 Python
学python需要去培训机构吗
Jul 01 Python
Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
Feb 01 Python
pytest配置文件pytest.ini的详细使用
Apr 17 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
CodeIgniter CLI模式简介
2014/06/17 PHP
php中http与https跨域共享session的解决方法
2014/12/20 PHP
服务器迁移php版本不同可能诱发的问题
2015/12/22 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
PHP+Ajax实现验证码的实时验证
2016/07/20 PHP
PHP7 新特性详细介绍
2016/09/06 PHP
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
2014/01/12 Javascript
javascript实时显示北京时间的方法
2015/03/12 Javascript
移除AngularJS下URL中的#字符的方法
2015/06/19 Javascript
jQuery超酷平面式时钟效果代码分享
2020/03/30 Javascript
浅谈node.js中async异步编程
2015/10/22 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
2016/05/03 Javascript
简单谈谈require模块化jquery和angular的问题
2017/06/23 jQuery
webpack中如何加载静态文件的方法步骤
2019/05/18 Javascript
详解django模板与vue.js冲突问题
2019/07/07 Javascript
javascript实现画板功能
2020/04/12 Javascript
vue实现前端分页完整代码
2020/06/17 Javascript
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
Python的shutil模块中文件的复制操作函数详解
2016/07/05 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
2018/10/18 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
Python read函数按字节(字符)读取文件的实现
2019/07/03 Python
python自动化工具之pywinauto实例详解
2019/08/26 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
2019/08/30 Python
使用Django的JsonResponse返回数据的实现
2021/01/15 Python
德国baby-markt婴儿用品瑞士网站:baby-markt.ch
2017/06/09 全球购物
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
大学生就业求职信
2014/06/12 职场文书
2014年关工委工作总结
2014/11/17 职场文书
儿园租房协议书范本
2014/12/02 职场文书
办公用品质量保证书
2015/05/11 职场文书
2015年班组建设工作总结
2015/05/13 职场文书
粗暴解决CUDA out of memory的问题
2021/05/22 Python
Java 数据结构七大排序使用分析
2022/04/02 Java/Android
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js