Не могу заставить плагин jedi-vim работать

Я пытаюсь использовать плагин jedi-vim для автозаполнения Python, но не могу заставить его работать.

У меня Vim 7.3, и вот что я сделал:

1- клонировать код из

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.

ничего не происходит, хотя в документе указано Autocompletion is also triggered by typing a period in insert modeи если я попробую <Ctrl-Space> Я получаю следующую ошибку

E29: No inserted text yet
Press ENTER or type command to continue

Я проверил :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 и установил vim-jedi с помощью pathogen как описано в документе:

1- установить джедай 2- установить патоген 3- добавить execute pathogen#infect() в моем ~/.vimrc4-клон Git хранилище в ~/.vim/bundle/

Я создаю новый файл, и у меня до сих пор нет автозаполнения. Например:

import numpy as np
np.

и управление + пробел в режиме вставки возвращает:

-- Omni completion (^O^N^P) Pattern not found

Есть ли omni completion плагин конфликтует? Я не установил такой плагин...

Должен ли я иметь что-нибудь еще для моего ~/.vimrc файл?

4 ответа

Решение

Я установил jedi-vim с патогеном, и теперь это работает.

РЕДАКТИРОВАТЬ: ответить на комментарии ниже: я заставляю jedi-vim работать, переустанавливая его с использованием pathogen вместо установки из исходного кода. Это исправило мою проблему, поэтому я решил, что это ответ.

Это базовая установка джедая с патогеном.

  1. Установить патоген

    mkdir -p ~/.vim/autoload ~/.vim/bundle && \
    curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
    
  2. конфигурировать .vimrc
    если у тебя есть ~/.vimrc файл: добавьте в него следующую строку

    execute pathogen#infect()
    

    еще: создайте пустой файл с именем .vimrc в вашей домашней папке и добавьте в нее следующие строки.

    execute pathogen#infect()
    syntax on
    filetype plugin indent on
    
  3. Установите джедая.

    cd ~/.vim/bundle/ && git clone --recursive https://github.com/davidhalter/jedi-vim.git
    
  4. наслаждаться!

Если у вас есть

set paste

в вашем файле.vimrc джедай не сможет работать.

У меня была похожая ошибка из-за несоответствия между версией Python, которую я намеревался использовать, и той, которая была вызвана.

Убедитесь, что джедай использует предполагаемую версию python. Например добавитьlet g:jedi#force_py_version = 3 на ваш .vimrc

Я думаю, что проблема в том, что ваша версия vim слишком мала, я предлагаю вам обновить до vim 7.4 и убедиться, что она открыла функцию python. Если вы хотите функцию автозаполнения, я предлагаю вам попробовать завершить меня, она более мощная, она нужен Vim 7.3.584+, теперь вышел vim 7.4, его легко установить, вы можете установить таким образом,

#!/bin/bash  
MyInstallDir="/root/MyVim74Install/"  
cd ~  
mkdir MyVim74Install  
if [ -d $MyInstallDir ]; then  
  echo "create MyInstallDir success"  
else  
  echo "create MyInstallDir Error"  
 fi  
cd $MyInstallDir  
pwd  

wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz  
tar -zxvf ncurses-5.9.tar.gz  
cd ncurses-5.9  
./configure  
make  
make install  
make clean  

cd ~  
cd $MyInstallDir  
wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz
tar xzvf cmake-2.8.7.tar.gz   
cd cmake-2.8.7 
./bootstrap   
make
make install

wget ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2  
tar -jxvf vim-7.4.tar.bz2  
cd vim74 ./configure --enable-gui=gtk2 --enable-cscope --enable-multibyte --enable-xim   --enable-fontset \
--with-features=huge --enable-pythoninterp=yes --with-python-config-dir=/usr/lib/python2.7/config
make 
make install
make clean 

git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle 
apt-get install gcc  
apt-get install g++ 
wget http://prdownloads.sourceforge.net/ctags/ctags-5.6.tar.gz  
tar -zxvf ctags-5.6.tar.gz  
cd ctags-5.6  
./configure &&make &&make install  
ctags -R
Другие вопросы по тегам