Не могу заставить плагин 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()
в моем ~/.vimrc
4-клон 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 вместо установки из исходного кода. Это исправило мою проблему, поэтому я решил, что это ответ.
Это базовая установка джедая с патогеном.
Установить патоген
mkdir -p ~/.vim/autoload ~/.vim/bundle && \ curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
конфигурировать
.vimrc
если у тебя есть~/.vimrc
файл: добавьте в него следующую строкуexecute pathogen#infect()
еще: создайте пустой файл с именем
.vimrc
в вашей домашней папке и добавьте в нее следующие строки.execute pathogen#infect() syntax on filetype plugin indent on
Установите джедая.
cd ~/.vim/bundle/ && git clone --recursive https://github.com/davidhalter/jedi-vim.git
наслаждаться!
Если у вас есть
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