我正在尝试使用jedi-vim插件进行Python自动完成,但我无法让它正常工作。
我使用的是Vim 7.3,以下是我的操作步骤:
1- 从GitHub中克隆了代码
git clone http://github.com/davidhalter/jedi-vim path/to/bundles/jedi-vim
2- 将 jedi-vim/plugin/jedi.vim
复制到 ~/.vim/plugin/
3- 将 jedi-vim/doc/jedi-vim.txt
复制到 ~/.vim/doc/
现在当我打开 vim,进入插入模式并输入
import wave
wave.
虽然文档指定了在插入模式下输入句点也会触发自动完成
,但是没有任何反应。如果我尝试使用<Ctrl-Space>
,则会出现以下错误。
E29: No inserted text yet
Press ENTER or type command to continue
我查看了 :map
命令,似乎没有使用 <Ctrl-Space>
:
我检查了:map
命令,似乎没有使用<Ctrl-Space>
:
n [m *@:call <SNR>21_Python_jump('?^\s*\(class\|def\)')<CR>
n [[ *@:call <SNR>21_Python_jump('?^\(class\|def\)')<CR>
n ]m *@:call <SNR>21_Python_jump('/^\s*\(class\|def\)')<CR>
n ]] *@:call <SNR>21_Python_jump('/^\(class\|def\)')<CR>
n gx <Plug>NetrwBrowseX
n <Plug>NetrwBrowseX * :call netrw#NetrwBrowseX(expand("<cWORD>"),0)<CR>
因为我使用 <Ctrl-Space>
时出现了错误,所以我猜它一定是有用的,对吗?为什么我不能在 :map
中看到它呢?
我错过了什么吗?
编辑
:scriptnames
1: /usr/share/vim/vimrc
2: /usr/share/vim/vim73/debian.vim
3: /usr/share/vim/vim73/syntax/syntax.vim
4: /usr/share/vim/vim73/syntax/synload.vim
5: /usr/share/vim/vim73/syntax/syncolor.vim
6: /usr/share/vim/vim73/filetype.vim
7: ~/.vimrc
8: ~/.vim/plugin/jedi.vim
9: /usr/share/vim/vim73/ftplugin.vim
10: /usr/share/vim/vim73/plugin/getscriptPlugin.vim
11: /usr/share/vim/vim73/plugin/gzip.vim
12: /usr/share/vim/vim73/plugin/matchparen.vim
13: /usr/share/vim/vim73/plugin/netrwPlugin.vim
14: /usr/share/vim/vim73/plugin/rrhelper.vim
15: /usr/share/vim/vim73/plugin/spellfile.vim
16: /usr/share/vim/vim73/plugin/tarPlugin.vim
17: /usr/share/vim/vim73/plugin/tohtml.vim
18: /usr/share/vim/vim73/plugin/vimballPlugin.vim
19: /usr/share/vim/vim73/plugin/zipPlugin.vim
20: /usr/share/vim/vim73/syntax/vim.vim
21: /usr/share/vim/vim73/syntax/python.vim
22: /usr/share/vim/vim73/ftplugin/vim.vim
编辑2
我将Vim更新到了7.4,并按照文档中的描述,使用pathogen
安装了vim-jedi
:
1- 安装jedi
2- 安装pathogen
3- 在~/.vimrc
中添加execute pathogen#infect()
4- 在~/.vim/bundle/
下克隆git存储库
我创建了一个新文件,但仍然没有自动完成。例如:
import numpy as np
np.
在插入模式下,按下control+space键返回:
-- Omni completion (^O^N^P) Pattern not found
是否有任何与之冲突的omni completion
插件?我没有安装这样的插件...
我是否应该在我的~/.vimrc
文件中添加其他内容?
:map
中没有看到<Ctrl-Space>
命令,但你应该能看到其他Jedi命令(例如leader-d
)。请同时发布:mes
和:scriptnames
。 - Dave Halterjedi-vim
,它显然就不会起作用。但这不是 jedi-vim 的错,而是 pathogen/vundle/vam 的错或者是你的错误。(在你当前的scriptnames
中我没有看到 jedi-vim。但也许在第二次编辑后它出现了?我不知道。) - Dave Halter