文档章节

启用 VIM 中的 Python 自动补全及提示功能

Airship
 Airship
发布于 2015/12/29 14:54
字数 716
阅读 731
收藏 0
点赞 0
评论 0

周围的同事不喜欢使用 VIM 写 Python 代码的原因之一就是,VIM 不能像 Visual Studio 一样自动补全和提示。

其实,只是VIM 太低调,大家不知道而已。

 

这里介绍一下 python omni complete, 安装启用之后,是这个样子的:

1. 如何安装 'Python omni complete' plugin.

如果是VIM7.3,不需要再下载 pythoncomplete.vim 这个插件,因为安装时自带了。
但是, 必须保证编译安装 VIM 的时候启用了 Python 特性, 即

./configure --with-features=huge --enable-pythoninterp=yes

因为,pythoncomplete.vim 是用 python 写的。

我们可以在vim autoload 目录下看到

ls -la /usr/local/share/vim/vim73/autoload/  
  
    drwxr-xr-x  3 root root   4096 2011-02-16 16:29 .  
    drwxr-xr-x 17 root root   4096 2011-02-16 16:29 ..  
    -rw-r--r--  1 root root   3669 2011-02-16 16:29 adacomplete.vim  
    -rw-r--r--  1 root root  22439 2011-02-16 16:29 ada.vim  
    -rw-r--r--  1 root root  16938 2011-02-16 16:29 ccomplete.vim  
    -rw-r--r--  1 root root  15922 2011-02-16 16:29 csscomplete.vim  
    -rw-r--r--  1 root root   2998 2011-02-16 16:29 decada.vim  
    -rw-r--r--  1 root root  23804 2011-02-16 16:29 getscript.vim  
    -rw-r--r--  1 root root   5331 2011-02-16 16:29 gnat.vim  
    -rw-r--r--  1 root root   6093 2011-02-16 16:29 gzip.vim  
    -rw-r--r--  1 root root  24253 2011-02-16 16:29 htmlcomplete.vim  
    -rw-r--r--  1 root root  27028 2011-02-16 16:29 javascriptcomplete.vim  
    -rw-r--r--  1 root root  10130 2011-02-16 16:29 netrwFileHandlers.vim  
    -rw-r--r--  1 root root   8684 2011-02-16 16:29 netrwSettings.vim  
    -rw-r--r--  1 root root 338720 2011-02-16 16:29 netrw.vim  
    -rw-r--r--  1 root root   1232 2011-02-16 16:29 paste.vim  
    -rw-r--r--  1 root root 293714 2011-02-16 16:29 phpcomplete.vim  
    -rw-r--r--  1 root root  21507 2011-02-16 16:29 python3complete.vim  
    -rw-r--r--  1 root root  22019 2011-02-16 16:29 pythoncomplete.vim  
    -rw-r--r--  1 root root    773 2011-02-16 16:29 README.txt  
    -rw-r--r--  1 root root  23443 2011-02-16 16:29 rubycomplete.vim  
    -rw-r--r--  1 root root   6184 2011-02-16 16:29 spellfile.vim  
    -rw-r--r--  1 root root  30201 2011-02-16 16:29 sqlcomplete.vim  
    -rw-r--r--  1 root root  16839 2011-02-16 16:29 syntaxcomplete.vim  
    -rw-r--r--  1 root root  21145 2011-02-16 16:29 tar.vim  
    -rw-r--r--  1 root root  12646 2011-02-16 16:29 tohtml.vim  
    -rw-r--r--  1 root root  23031 2011-02-16 16:29 vimball.vim  
    drwxr-xr-x  2 root root   4096 2011-02-16 16:29 xml  
    -rw-r--r--  1 root root  14933 2011-02-16 16:29 xmlcomplete.vim  
    -rw-r--r--  1 root root  11906 2011-02-16 16:29 zip.vim

如果没有,则下载 pythoncomplete.vim, 并复制到 ~/.vim/autoload/ 目录下。

2. 如何启用自动补全
在 ~/.vimrc 中添加这样两行

filetype plugin on  
autocmd FileType python set omnifunc=pythoncomplete#Complete

此时,我们就完成了安装及配置工作。

3. 如何使用自动补全
例如我们输入

import sys  
print sys.

 此时, 按下 Ctrl+x, Ctrl+o, 就能看到提示列表框,以及对应的 docstring.


Ctrl+n, Ctrl+p 来上下选择

ESC 来取消提示框。

 

 

4. 不足之处

a. 属性没有 docstring, 只有函数有。

:( 这个似乎不好搞,因为属性似乎没有 docstring 这个概念。

b. 在没有下拉框的情况下,没有 docstring.

 

好在, pythoncomplete.vim 是 python 写的,有空大家可以自己完善一下。









© 著作权归作者所有

共有 人打赏支持
Airship
粉丝 34
博文 789
码字总数 18996
作品 0
南京
高级程序员
使用交互式 shell 来增强你的 Python

Python 编程语言已经成为 IT 中使用的最流行的语言之一。成功的一个原因是它可以用来解决各种问题。从网站开发到数据科学、机器学习到任务自动化,Python 生态系统有丰富的框架和库。本文将介...

10% ⋅ 05/19 ⋅ 0

Ubuntu配置zsh+oh-my-zsh+漂亮主题bullet-train

环境:Ubuntu16.04LTS 64bit 1 .安装zsh : zshongithub地址 2. 安装oh-my-zsh : oh-my-zsh on github 前提条件: Unix-based操作系统。(OS X或者是Linux) 安装了zsh 安装了curl或者是wget ...

王涛哥哥 ⋅ 05/31 ⋅ 0

ipython和Jupyter Notebook

ipython ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数。学习ipython将会让我们以一种...

lvyz0207 ⋅ 05/24 ⋅ 0

8款实用Sublime text 3插件推荐

Sublime Text作为一个尽为人知的代码编辑器,其优点不用赘述。界面整洁美观、文本功能强大,且运行速度极快,非常适合编写代码,写文章做笔记。Sublime Text还支持Mac、Windows和Linux各大平...

slagga ⋅ 04/16 ⋅ 0

如何使用 Python 编写 vim 插件

前言 vim是个伟大的编辑器,不仅在于她特立独行的编辑方式,还在于她强大的扩展能力。然而,vim自身用于写插件的语言vimL功能有很大的局限性,实现功能复杂的插件往往力不从心,而且运行效率...

Yggdroot ⋅ 2017/11/28 ⋅ 0

【原创】如何在vim中使用tab进行python代码补全

Pydiction : Tab-complete your Python code Pydiction 允许你在 Vim 中实现 TAB 代码补全, 可以补全的内容包括:标准的、自定义的,以及第三方模块和包。外加关键字、BIFs,和字符串。 Pydi...

摩云飞 ⋅ 2013/10/23 ⋅ 6

Windows10安装WSL及YouCompleteMe

第一步:安装wsl 离线安装方法: 在win10的设置中打开更新和安全,打开针对开发人员选项 然后在程序和功能中打开Linux子系统。 在命令行中输入bash 最新版win10(17年9月更新)会给出应用商店...

科幻经典 ⋅ 2017/11/24 ⋅ 0

NovalIDE 1.1.0 发布,跨平台的开源国产 Python IDE

NovalIDE 1.1.0 正式发布了。 官方网址为:http://www.novalide.com NovalIDE 是一款开源、跨平台,而且免费的国产 Python IDE。有出色的语法高亮功能,支持多种语言,Python, C/C++, HTML, ...

东方玄 ⋅ 05/23 ⋅ 0

Vim as Python IDE on windows

下载安装Python。 从Vim的网站下载vim,建议下Self-installing executable的版本。 编辑vim的配置文件_vimrc 拷贝vimrcexample里面的东东到vimrc 去掉vimrc里面的source $VIMRUNTIME/vimrcexa...

quanpower ⋅ 2013/01/02 ⋅ 0

vim 稍微高级一些的设置

最近需要在linux系统下编辑fortran的代码,但是系统自带的编辑器vim本身对fortran的支持不够强大,但是好在vim本身是一个扩展性极强的编辑器,在CSDN上查找到一篇搬运的教程,但是本身没有写...

粗衣大布裹天涯 ⋅ 2017/11/23 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

HiSDP —— 高效的C++软件开发平台

目前阿里集团每天有近1000PB的数据是通过LogAgent采集的,为了让LogAgent做到资源占用节省和高效采集,背后是基于HiSDP去构建的。 缘由 当决定采用C++编程语言去开发一个软件时,紧接着所面临...

阿里云云栖社区 ⋅ 10分钟前 ⋅ 0

zookeeper-3.4.12 下载与安装教程

一、zookeeper下载地址 http://mirrors.hust.edu.cn/apache/zookeeper/ 二、启动教程 把压缩包放在指定目录下 第三: 进入 conf文件夹底下 zoo_sample.cfg 文件名改成 zoo.cfg 第四步: 进入b...

泉天下 ⋅ 11分钟前 ⋅ 0

Oracle 中文日期转换

SELECT TO_date('2011年11月11日', 'yy"年"mm"月"dd"日"') FROM DUAL; 1. Oracle无法识别中文格式,所以添加双引号。 2. 后面的格式是指字符串在转换前的格式,而不是指转换后的格式。...

江戸川 ⋅ 12分钟前 ⋅ 0

MySell:API Spring Boot

起步 类目 商品 订单

BeanHo ⋅ 15分钟前 ⋅ 0

Spring方法拦截器MethodInterceptor

参考资料 1、Spring方法拦截器MethodInterceptor 2、Sharding JDBC源码分析-JdbcMethodInvocation类的作用

哎小艾 ⋅ 18分钟前 ⋅ 0

正则表达式

元字符 元字符,又叫字符集,就是用一些特殊符号表示特定种类的字符或位置。 匹配字符 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 匹配...

wangchen1999 ⋅ 18分钟前 ⋅ 0

数据库数据导入Elasticsearch案例分享

基于bboss持久层和bboss elasticsearch客户端实现数据库数据导入es案例分享(支持各种数据库和各种es版本) 1.案例对应的源码 https://gitee.com/bboss/bboss-elastic/blob/master/bboss-el...

bboss ⋅ 19分钟前 ⋅ 0

动手---sbt(2)

参考 https://blog.csdn.net/leishangwen/article/details/46225587 建立一个chisel_max目录,文件内容如后面所述,现在开始执行命令: joe@joe-Aspire-Z3730:/media/sdb4/download/scala$ c......

whoisliang ⋅ 25分钟前 ⋅ 0

纯js实现最简单的文件上传(后台使用MultipartFile)

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>XMLHttpRequest上传文件</title> <script type="text/javascript"> //图片上传 var xhr......

孟飞阳 ⋅ 30分钟前 ⋅ 0

iOS宇宙大战游戏、调试工具、各种动画、AR相册、相机图片编辑等源码

iOS精选源码 日期时间选择器,swift Space Battle 宇宙大战 SpriteKit游戏源码 LLDebugTool - 便捷的IOS调试工具(新增截屏功能) 相机扫描or长按识别二维码、FMDB、键盘动态高度、定位等 动画...

sunnyaigd ⋅ 31分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部