代码缺少一块?在vim里面使用tab进行代码补全
前言
Pydiction 允许你在 Vim 中实现 TAB 代码补全, 可以补全的内容包括:标准的、自定义的,以及第三方模块和包。外加关键字、BIFs,和字符串。
Pydiction 由 3 个主要文件构成:
- python_pydiction.vim -- 该文件为 Vim 的 plugin 文件,实现 Python 文件的 TAB 补全功能。
- complete-dict -- 该文件为 Vim 的 dictionary 文件,其中包含 Python 关键字和模块结构等信息。是 plugin 进行补全时所查找的参考文件。
- pydiction.py -- (可选)该文件是 Python script 文件,用于生成 dictionary 文件。可以通过执行该脚本添加更多的可 TAB 补全模块。
用法
在 Vim 中输入部分 Python 关键字、模块名、属性或方法名,然后按 Tab 键以弹出补全信息。
例如, 输入
os.p<Tab>
会弹出
os.pardir os.path os.pathconf( os.pathconf_names os.pathsep os.pipe( ... ``` 如果你发现在 TAB 完成菜单中得到的结果并不是你想要的,可能的一种原因是你没有设置 Vim 忽略大小写。可以通过 ":set noic" 方式进行设置。 > 小编推荐一个学python的学习qun 740322234 无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享! 【如何安装】 在 UNIX/LINUX 下,将 python_pydiction.vim 放入 ~/.vim/after/ftplugin/ ,若该目录不存在则手动创建,Vim 会自动去该目录下查找相关文件。不要把除 python_pydiction.vim 之外的其他文件放入该目录。 在你的 vimrc 文件中增加下面的字段来启用 ftplugins : filetype plugin on 之后确保设置 "g:pydiction_location" 指向你放置的 complete-dict 文件所在的全路径,例如 let g:pydiction_location = 'C:/vim/vimfiles/ftplugin/pydiction/complete-dict' 网上有人做如下设置可以参考
unzip pydiction-1.2.zip
cp python_pydiction.vim /usr/share/vim/vim70/ftplugin
mkdir /usr/share/vim/vim70/pydiction
cp complete-dict pydiction.py /usr/share/vim/vim70/pydiction/
vi ~/.vimrc
...
增加
let g:pydiction_location = '/usr/share/vim/vim70/pydiction/complete-dict'
let g:pydiction_menu_height = 20
...
打开 python 脚本文件,在编写 python 程序时,按 TAB 键即可激活自动补全菜单。 展示: 按 Tab 前 ![image](https://yqfile.alicdn.com/b18e5bf042a330d50450d4c2858427f808364274.png) 按 Tab 后 ![image](https://yqfile.alicdn.com/c983e7f9c3349d961ed5243fd14ec70e4fc9f8f2.png)
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
python项目中为什么经常看见“ if __name__ == ‘__main__’:”?
前言尽管大家在编写python会允许你像shell脚本一样,把大量代码堆积在一起,但是,有很多python入门的书籍,都会建议封装一个函数去写(面向对象也可以写),然后在最后统一调用,例如这样 : def main(): #具体代码 if __name__ == '__main__': main() 很多文章都会说这是由于代码样式等原因,但实际上,不这样写,有时会直接导致错误。 例如,打开python的一个字节的class变量部分,可以在这里看到在线版本,然后在中间复制示例代码,运行,就可以看到预期的正确结果。 但是现在将代码中的所有“swaroop”替换为“xxx1”,将所有“kalam”替换为“yyy1”,然后再次运行,在程序结束时,您将得到这样一个奇怪的错误(python 2.6.5实验): 异常属性错误:>忽略中的“nonetype”对象没有属性“population” 也就是说,如果我们改变变量名,程序就会出错… 原因是,当Python最终销毁所有类和对象时,它不处理这些对象之间的依赖关系,而是根据变量的名称决定某种顺序操作。因此,Person类本身在YYY2之前就被销...
- 下一篇
python模块: urllib模块详解 !!
前言相信大家在做一个Python项目的时候,肯定会用到模块,就想JAVA会用到JAR包一样,这样会让我们的开发更高效和更简洁,本节为大家介绍一个URLlib模块 在python中urllib模块提供上层接口,可以使用它下载读取数据,这里举个例子,把sina首页的html抓取下来显示出来.有2种方法可以实现. 1.urlopen(url, data=None, proxies=None) urlopen(url [, data]) -> open file-like object 创建一个表示远程url的类文件对象,然后像本地文件一样操作这个类文件对象来获取远程数据。参数url表示远程数据的路径,一般是网址;参数data表示以post方式提交到url的数据;参数proxies用于设置代理.urlopen返回一个类文件对象. #!/usr/bin/python2.5 import urllib url = "http://www.sina.com" data = urllib.urlopen(url).read() print data``` root@10.1.6.200:~# p...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8编译安装MySQL8.0.19