Vim中Python自动补全
2014-08-12 10:00
453 查看
这里介绍三种方法,系统自带的omnicompletion,插件pydiction,插件snipmate(强烈推荐)
1. omnicompletion
1.1 安装
注意:vim73已带该插件,不需要再安装,只需在vimrc中配置即可
Vim7中添加了对文法提示和自动完成的支持,对于python来说需下载pythoncomplete.vim(http://www.vim.org/scripts/script.php?script_id=1542)并将其放在<Vim安装目录>/<$VIMRUNTIME>/autoload/目录下,接着在vimrc中添加如下命令:
filetype plugin on
set ofu=syntaxcomplete#Complete
autocmd FileType python
set omnifunc=pythoncomplete#Complete
autocmd FileType python runtime! autoload/pythoncomplete.vim
1.2 使用
编写代码时通过ctrl-x ctrl-o来打开文法提示上下文菜单
2. pydiction
2.1 pydiction介绍
pydiction是一个vim python自动补全插件,这是一个相当不错的 Python 代码自动完成的脚本。
可以实现下面python代码的自动补全:
1. 简单python关键词补全
2. python 函数补全带括号
3. python 模块补全
4. python 模块内函数,变量补全
5. from module import sub-module 补全
2.2 pydiction插件安装使用
注意:这里是pydiction 1.0 之后版本安装配置,适用VIM7之后的版本。
本地下载:http://www.pythonclub.org/_media/python-basic/pydiction-1.2.zip?id=python-basic%3Avim&cache=cache
官方地址:http://vim.sourceforge.net/scripts/script.php?script_id=850
我是在windows下载后再将解压后文件拷到linux下去的
2.2.1 python_pydiction.vim
将文件 python_pydiction.vim 放到 ~/.vim/after/ftplugin/ 路径下,如果这个路径不存在,你可以自己创建这个文件夹结构。(Windows下面的话放在目录类似的结构中)
2.2.2 complete-dict
将complete-dict文件放到你自己的某个路径下,后面的配置会用到这个文件,这个文件就是记录所有的python关键词。
我将这个文件放到 ~/.vim/tools/pydiction/complete-dict
2.2.3 配置.vimrc
在 ~/.vimrc 文件中添加如下配置
"pydiction 1.2 python auto complete
filetype plugin on
let g:pydiction_location = '~/.vim/tools/pydiction/complete-dict'
"defalut g:pydiction_menu_height == 15
"let g:pydiction_menu_height = 20
2.2.4 使用
pydiction 1.2 版本在VIM中直接用 <Tab> 键就可以实现自动补全。
如在vim中键入 os.pa<Tab> 后出现的自动补全界面。
CTRL-Y 接受当前选项并结束补全
<Space> 接受当前选项并在后面插入空格
CTRL-E 关闭列表并取消选择
如果直接回车就会接受当前补全结束插入并开始一个新行
执行:help popupmenu-keys查看更多热键
如果想执行py脚本,输入:
$!python a.py
如果想在命令补全中引入另外的的模块中的类和方法,输入:
$python pydiction.py <模块名1> <模块名2> ...
在引入模块后,如果想补全s.st
可以执行:
s.st<Ctrl-x><Ctrl-o>
将会有:
startswith(prefix[, start[, end]])
strip([chars])
提示:
如果你创建了一个自定义类:
S = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
你可以用以下方法来进行补全s.send()方法:
S.s<Ctrl-x><Ctrl-o>
如果你已经安装了autocomplpop.vim, supertab.vim 或者其他补全插件,可能会出现意外的结果,尝试禁用这些插件看看。
详细请参考:http://blog.csdn.net/emmetyoung/article/details/7417459
http://blog.163.com/yungang_z/blog/static/17515313320113152438330/
3. snipmate
3.1 安装
下载snipmate.zip:http://www.vim.org/scripts/script.php?script_id=2540
直接解压到~/.vim目录下即可,可能需要安装zip/unzip等命令,直接sudo apt-get install unzip
3.2 使用
同pydiction,直接在VIM中直接用 <Tab> 键就可以实现自动补全。
如在vim中键入 os.pa<Tab> 后出现的自动补全界面。
详细请参考:/article/5159230.html
1. omnicompletion
1.1 安装
注意:vim73已带该插件,不需要再安装,只需在vimrc中配置即可
Vim7中添加了对文法提示和自动完成的支持,对于python来说需下载pythoncomplete.vim(http://www.vim.org/scripts/script.php?script_id=1542)并将其放在<Vim安装目录>/<$VIMRUNTIME>/autoload/目录下,接着在vimrc中添加如下命令:
filetype plugin on
set ofu=syntaxcomplete#Complete
autocmd FileType python
set omnifunc=pythoncomplete#Complete
autocmd FileType python runtime! autoload/pythoncomplete.vim
1.2 使用
编写代码时通过ctrl-x ctrl-o来打开文法提示上下文菜单
2. pydiction
2.1 pydiction介绍
pydiction是一个vim python自动补全插件,这是一个相当不错的 Python 代码自动完成的脚本。
可以实现下面python代码的自动补全:
1. 简单python关键词补全
2. python 函数补全带括号
3. python 模块补全
4. python 模块内函数,变量补全
5. from module import sub-module 补全
2.2 pydiction插件安装使用
注意:这里是pydiction 1.0 之后版本安装配置,适用VIM7之后的版本。
本地下载:http://www.pythonclub.org/_media/python-basic/pydiction-1.2.zip?id=python-basic%3Avim&cache=cache
官方地址:http://vim.sourceforge.net/scripts/script.php?script_id=850
我是在windows下载后再将解压后文件拷到linux下去的
2.2.1 python_pydiction.vim
将文件 python_pydiction.vim 放到 ~/.vim/after/ftplugin/ 路径下,如果这个路径不存在,你可以自己创建这个文件夹结构。(Windows下面的话放在目录类似的结构中)
2.2.2 complete-dict
将complete-dict文件放到你自己的某个路径下,后面的配置会用到这个文件,这个文件就是记录所有的python关键词。
我将这个文件放到 ~/.vim/tools/pydiction/complete-dict
2.2.3 配置.vimrc
在 ~/.vimrc 文件中添加如下配置
"pydiction 1.2 python auto complete
filetype plugin on
let g:pydiction_location = '~/.vim/tools/pydiction/complete-dict'
"defalut g:pydiction_menu_height == 15
"let g:pydiction_menu_height = 20
2.2.4 使用
pydiction 1.2 版本在VIM中直接用 <Tab> 键就可以实现自动补全。
如在vim中键入 os.pa<Tab> 后出现的自动补全界面。
CTRL-Y 接受当前选项并结束补全
<Space> 接受当前选项并在后面插入空格
CTRL-E 关闭列表并取消选择
如果直接回车就会接受当前补全结束插入并开始一个新行
执行:help popupmenu-keys查看更多热键
如果想执行py脚本,输入:
$!python a.py
如果想在命令补全中引入另外的的模块中的类和方法,输入:
$python pydiction.py <模块名1> <模块名2> ...
在引入模块后,如果想补全s.st
可以执行:
s.st<Ctrl-x><Ctrl-o>
将会有:
startswith(prefix[, start[, end]])
strip([chars])
提示:
如果你创建了一个自定义类:
S = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
你可以用以下方法来进行补全s.send()方法:
S.s<Ctrl-x><Ctrl-o>
如果你已经安装了autocomplpop.vim, supertab.vim 或者其他补全插件,可能会出现意外的结果,尝试禁用这些插件看看。
详细请参考:http://blog.csdn.net/emmetyoung/article/details/7417459
http://blog.163.com/yungang_z/blog/static/17515313320113152438330/
3. snipmate
3.1 安装
下载snipmate.zip:http://www.vim.org/scripts/script.php?script_id=2540
直接解压到~/.vim目录下即可,可能需要安装zip/unzip等命令,直接sudo apt-get install unzip
3.2 使用
同pydiction,直接在VIM中直接用 <Tab> 键就可以实现自动补全。
如在vim中键入 os.pa<Tab> 后出现的自动补全界面。
详细请参考:/article/5159230.html
相关文章推荐
- VIM python 自动补全插件(plugin):pydiction-1.2.1
- 【ubuntu】vim安装python自动补全插件(2)
- vim编写python脚本自动补全插件
- [转载]启用 VIM 中的 Python 自动补全及提示功能
- vim编写python自动补全
- VIM python 自动补全插件:pydiction
- vim7.0配置python自动补全
- Python 自动补全(vim)
- Python 之vim编写python自动补全
- vim配置python自动补全
- vim 启动 python的自动补全
- vim中设置Python自动补全
- vim python自动补全方法
- 在Python命令行和VIM中自动补全
- VIM python 自动补全插件:pydiction
- 【ubuntu】vim安装python自动补全插件(1)
- vim python 自动补全代码
- VIM python 自动补全插件:pydiction
- 如何在配置vim的(Python)代码自动补全功能
- Ubuntu安装Vim的Python自动补全插件