LINUX.ORG.RU

it requires Neovim with Python3 support

 ,


0

3

Здравствуйте, таким образом установил Neovim

sudo add-apt-repository ppa:neovim-ppa/unstable
sudo apt-get update
sudo apt-get install neovim
и питон к нему
sudo apt-get install python-dev python-pip python3-dev python3-pip

Установил также плагин автокомплита deoplet, который при запуска neovim выдает:

[deoplet]it requires Neovim with Python3 support("+python3")
Ubuntu 16.04 скажите, пожалуйста, где моя ошибка


Тоже не сразу понял, тебе теперь надо сказать «pip install neovim». Это питоновский пакет для neovim

ioway ()
Ответ на: комментарий от ioway

проставил эту команду, теперь следующее:

deoplete failed to load: vim(call):E117
мне кажется, я что-то делаю не так

TexSV ()
Ответ на: комментарий от TexSV

E117 - это ошибка при инициализации плагина, он не видит этот пакет (neovim) - тут уже надо смотреть нет ли месива с путями в рантайме и опции сборки.

ioway ()

Neovim собран без поддержки python3.
А почему вы решили сменить vim на neovim? То, что это стало модно, я знаю. Но модное не есть хорошее.

andreyu ★★★★★ ()

:echo has("python3") должно вернуть 1

Medar ★★★★★ ()
Последнее исправление: Medar (всего исправлений: 1)
Ответ на: комментарий от andreyu

То, что это стало модно, я знаю.

Он по ощущениям чуть шустрее. Но конечно-же расплата за «новизну» в виде неочевидных ошибок присутствует.

ioway ()
Ответ на: комментарий от ioway

Он по ощущениям чуть шустрее.

С чего бы ему быть шустрее?

Но конечно-же расплата за «новизну» в виде неочевидных ошибок присутствует.

Меня смущает другое - сколько проживет этот проект прежде, чем загнуться?
При этом я рад этому проекту, поскольку он дал хорошего пинка Брэму.

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

С чего бы ему быть шустрее?

С того, что он изначально асинхронен. Он действительно шустрее, и с жирными плагинами не тормозит в отличие от оригинального вима.

Да, некоторые вимоплагины не работают в неовиме, но это вопрос времени. Или допилят поддержку, или напишут новые плагины.

Меня смущает другое - сколько проживет этот проект прежде, чем загнуться?

Судя по тому, как быстро растёт коммъюнити — нескоро он загнётся.

r3lgar ★★★★★ ()
Ответ на: комментарий от ioway

Покажи выхлоп команды

:echo has('python3')

прямо из nvim, должна быть «1»

Попробуй минимальный конфиг:

filetype plugin indent on

call plug#begin()

Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }

call plug#end()

let g:deoplete#enable_at_startup=1

Turbid ★★★★★ ()
Ответ на: комментарий от r3lgar

С того, что он изначально асинхронен. Он действительно шустрее, и с жирными плагинами не тормозит в отличие от оригинального вима.

Получается, что если vim с плагинами не тормозит, то neovim с этими же плагинами (или их аналогами) прироста не даст.

Да, некоторые вимоплагины не работают в неовиме, но это вопрос времени.

Время покажет.

Или допилят поддержку, или напишут новые плагины.

А ycm работает с neovim? Про deoplete знаю, но у меня с ним не срослось. Проще терпеть тормоза ycm, чем ковыряться с deoplete.

Судя по тому, как быстро растёт коммъюнити — нескоро он загнётся.

История учит, что быстрый взлет не является гарантом долгой жизни.
Как пример, sublime - шумели, плясали вокруг него. А теперь все затихло. Свитчеры вернулись на вим.

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

Получается, что если vim с плагинами не тормозит, то neovim с этими же плагинами (или их аналогами) прироста не даст.

Ну, по ощущениям всё равно прирост есть. Пусть небольшой, но ощутимый.

А ycm работает с neovim?

Да, работает, но я его ниасилил, да и не стал с ним заморачиваться.

Про deoplete знаю, но у меня с ним не срослось

Вот весь мой конфиг deoplete:

let g:deoplete#enable_at_startup = 1
if !exists('g:deoplete#omni#input_patterns')
        let g:deoplete#omni#input_patterns = {}
endif

Проще терпеть тормоза ycm, чем ковыряться с deoplete.

Вот тут вынужден с тобой не согласиться. Тормоза ycm не зависят от мощностей, он архитектурно ущербен. Правда, в deoplete я не заглядывал, но он не тормозит и выполняет свою задачу, чтобы лезть ему под капот.

Как пример, sublime - шумели, плясали вокруг него. А теперь все затихло. Свитчеры вернулись на вим.

Саблайм никогда не был заменой виму, это просто хипстерский редактор. Атом тоже быстро взлетел, но и он у вимеров особо не возымел успеха.

Неовим же — вполне себе вим. Только шустрый и с шустрыми плагинами. И уже вполне готов на замену виму.

r3lgar ★★★★★ ()
Ответ на: комментарий от andreyu

Так а что не срослось-то? Я тебе в прошлый раз на пальцах доказывал, что деоплете умеет все, что может YCM.

slon ()

xyли тупите бл9ять? на сайте всё подробно разжеванно же

anonymous ()

Такие отъебанные сказочники здесь обитают, я в ахуе!

anonymous ()
Ответ на: комментарий от slon

Так а что не срослось-то? Я тебе в прошлый раз на пальцах доказывал, что деоплете умеет все, что может YCM.

В прошлый раз я пытался это сделать с vim + neocomplete.

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

В прошлый раз я пытался это сделать с vim + neocomplete.

Нет. Я показывал работу deoplete, ты обещал попробовать.

slon ()
Ответ на: комментарий от slon

Путь — впустую работать для кого-то не получив из этого ровным счётом ничего? Ок.

Я и попробовал, но на vim + neocomplete.

andreyu ★★★★★ ()
Ответ на: комментарий от slon

Полагаю, что правильный переход на neovim - это его настройка с чистого листа, а не попытка адаптировать конфиг vim.

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

Ты наверное неправильно меня понял там, deoplete это 10/10, а neocomplete это 6/10, если вот так очками измерять качество работы комплитеров.

Переходи на neovim, чего ты ждешь непонятно, ну вышла восьмерка, ты лично что-то почувствовал нового, какие-то улучшения? Я — нет, а neovim объективно быстрее работает (и стартует даже), я замерял и ранее приводил результаты, лень искать. Ну и конечно то, что наилучший комплитер есть только для neovim — deoplete.

slon ()
Ответ на: комментарий от slon

Ты наверное неправильно меня понял там, deoplete это 10/10, а neocomplete это 6/10, если вот так очками измерять качество работы комплитеров.

Я подумал, что все отличие - это асинхронность в deoplete.

Переходи на neovim, чего ты ждешь непонятно,

Уже набрал команду brew install neovim ;)

ну вышла восьмерка, ты лично что-то почувствовал нового, какие-то улучшения?

Нет, не заметил. Но я и суслика не вижу, а он есть.

Ну и конечно то, что наилучший комплитер есть только для neovim — deoplete.

Ок, начинаю миграцию :)

andreyu ★★★★★ ()
Ответ на: комментарий от slon

Все, закончил миграцию. Оно хочет, что бы я в систему затянул python3 и neovim с поддержкой python3.

andreyu ★★★★★ ()
Ответ на: комментарий от slon

Уже сделал, но не мне это не нравится.

Конфиг такой:

Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'zchee/deoplete-clang'

let g:python2_host_prog = '/usr/local/bin/python'
let g:python3_host_prog = '/usr/local/bin/python3'

let g:deoplete#enable_at_startup = 1
inoremap <expr><TAB> pumvisible() ? «\<C-n>» : «\<TAB>»

let g:deoplete#sources#clang#libclang_path = '/Library/Developer/CommandLineTools/usr/lib/libclang.dylib'
let g:deoplete#sources#clang#clang_header = '/Library/Developer/CommandLineTools/usr/lib/clang'


Но комплитер не работает. Показывает всякую чушь из текущего буфера.

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

«Это норма»(c). Понаставят кривых хипсторских форков, а потом ждут от них нормальной работы.

anonymous ()
Ответ на: комментарий от andreyu

Но комплитер не работает.

А у меня — все работает, причем на маке работает также -> , что не работало на линуксе, вот скриншоты только что сделал из прошлых примеров:

NVIM 0.1.5-dev и все остальное из homebrew, clang стоковый из капитана 10.11.3:

Apple LLVM version 7.0.2 (clang-700.1.81)

Настройки такие:

function! DoRemote(arg)
  UpdateRemotePlugins
endfunction
Plug 'Shougo/deoplete.nvim', { 'do': function('DoRemote') }
let g:deoplete#enable_at_startup = 1

Plug 'Shougo/neoinclude.vim'
if !exists('g:neoinclude#exts')
    let g:neoinclude#exts = {}
endif
let g:neoinclude#exts.cpp  = ['', 'h', 'hpp', 'hxx']

Plug 'zchee/deoplete-clang'
let g:deoplete#sources#clang#libclang_path = '/Library/Developer/CommandLineTools/usr/lib/libclang.dylib'
let g:deoplete#sources#clang#clang_header  = '/Library/Developer/CommandLineTools/usr/lib/clang'

inoremap <expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>"

slon ()
Ответ на: комментарий от Turbid

Turbid, вот сам конфиг,там почти ничего нет:

call plug#begin('~/.config/nvim/plugged') 

" autocomplete
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }

" Дерево объектов
Plug 'scrooloose/nerdtree'

" Закрытие кавычек
Plug 'raimondi/delimitmate'

" colorschemes
Plug 'nanotech/jellybeans.vim'

call plug#end()


" geoplete
let g:deoplete#enable_at_startup = 1

" nerdtree
map <C-n> :NERDTreeToggle<CR>

" colorscheme
syntax enable
set background=dark
colorscheme jellybeans 

andreyu, возвращает 1, если прописать :echo has(«python3») до этого вим стоял, я его удалил, вот думаю, может после его удаления проблемы начались. Может вообще все переустановить, уже не знаю, в чем проблема

TexSV ()
Ответ на: комментарий от slon
neovim (0.1.10)
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
TexSV ()
Ответ на: комментарий от TexSV

0 или 1 показывает в зависимости от того, установлен ли питоновый клиент (который у тебя установлен, как видно выше) или нет, у тебя получается произошла какая-то каша, что neovim не видит клиент, я с таким не сталкивался.

У тебя получается всё в порядке и с neovim'ом самими и с клиентом, просто почему-то не видны друг другу, куда копать я не в курсе.

Можно попробовать удалить всё, почистить и установить опять.

slon ()
Ответ на: комментарий от slon

скажите, пожалуйста, как все правильно вычистить, ибо от того же питона целая куча зависимостей, которые просто так не удалишь

TexSV ()
Ответ на: комментарий от TexSV
pip3 uninstall neovim

удалит клиент, а как сносить установленные программы в твоем пакетном менеджере я не в курсе, не пользуюсь убунтой/дебианом, но тебе снести нужно только сам neovim, никакие зависимости здесь роли не играют.

slon ()
Ответ на: комментарий от TexSV

Нет.

На Gentoo neovim и клиент я ставил с портажа:

emerge app-editors/neovim dev-python/neovim-python-client
на Void neovim и клиент я ставил из репы:
xbps-install neovim python3-neovim
на макосе neovim я ставил через homebrew, а клиент через pip3:
brew install neovim/neovim/neovim
pip3 install neovim

slon ()
Ответ на: комментарий от slon

если одной командой удалить, он даже конфиг за собой не почистит, чувствую эффекта я не добьюсь

TexSV ()
Ответ на: комментарий от slon
#include <cstdio>

class Class
{
public:
    Class(int i)
    {
        m_i = i;
    }

    int get() const { return m_i; }
    void set(int i) { m_i = i; }

private:
    int m_i = i;
};

int main(void)
{
    Class c;
    c. // <-- и тишина

    return 0;
}

На реальном проекте иногда показывает кучу мусора из текущего буфера с припиской [clang]

Скорость загрузки действительно увеличилась ...потому, что конфиг пустой с несколькими плагинами.

andreyu ★★★★★ ()
Ответ на: комментарий от slon

Кстати, как подтвердить выбранный пункт из списка я так и не понял.

p.s. Пойду работать в vim + ycm - он хоть и тормозной монстр, но работает и не просит засирать систему всяким говном.

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

Фикс, так список комплита появился:

int main(void)
{
    Class c(0);
    c.get
      ~Class()                 ~ void    [clang]
    r Class::                  t         [clang]
}     operator=(const Class &) f Class & [clang]
~     operator=(Class &&)      f Class & [clang]
~     get() const              f int     [clang]
~     set(int i)               f void    [clang]
~     m_i                      m int     [clang]

Видимо ошибка компиляции ему сильно мешает.

andreyu ★★★★★ ()
Ответ на: комментарий от slon

а как Вы tern настроили, чтобы автоматом комлитил? у меня только через сочетание клавиш работает

TexSV ()
Ответ на: комментарий от TexSV

вся настройка tern у меня:

Plug 'marijnh/tern_for_vim', { 'do': 'npm install' }
let g:tern_show_argument_hints = 'on_move'
но я кроме того, что он устанавливает tern локально в плагины, ставлю его отдельно голобально:
sudo npm install -g tern
создаю в хомяке конфиг ~/.tern-config :
{
  "libs": [ "browser" ],
  "plugins": { }
}
Работает автоматически, что на vim+neocomplete, что neovim+deoplete.

slon ()
Ответ на: комментарий от Medar

Надо будет попробовать, я о нём не знал, его наверное не было когда я настраивал.

slon ()
Ответ на: комментарий от Medar

я про него и спрашивал, только он включается через сочетание клавиш Ctrl-X и Ctrl-O. Это неудобно, надо бы автоматически

TexSV ()
Ответ на: комментарий от TexSV

Так у тебя сам deoplete уже работает? Вот мой кусок:

  Plug 'carlitux/deoplete-ternjs', {'for': ['javascript']}
  Plug 'ternjs/tern_for_vim', { 'do': 'npm install', 'for': ['javascript'] }

  Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
    set completeopt=longest,menuone,preview
    let g:deoplete#enable_at_startup = 1
    let g:deoplete#enable_ignore_case = 1
    let g:deoplete#enable_smart_case = 1
    let g:deoplete#enable_camel_case = 1
    let g:deoplete#enable_refresh_always = 1
    let g:deoplete#auto_refresh_delay = 200
    let g:deoplete#max_abbr_width = 25
    let g:deoplete#max_menu_width = 40
    let g:deoplete#auto_complete_delay = 200
    let g:deoplete#omni#functions = {}
    let g:deoplete#omni#functions['javascript.jsx'] = ['tern#Complete']
    let g:deoplete#sources = {}
    let g:deoplete#sources['javascript.jsx'] = ['file', 'ultisnips', 'ternjs']

    autocmd InsertLeave,CompleteDone * if pumvisible() == 0 | pclose | endif

    let g:tern_request_timeout = 1
    let g:tern#command = ["tern"]
    let g:tern#arguments = ["--persistent"]
    let g:tern_show_argument_hints = 'on_hold'
    let g:tern_show_signature_in_pum = 1
Medar ★★★★★ ()
Ответ на: комментарий от Medar

deoplete работает автоматически, выбираю сочетанием ctrl-p, а вот tern, который должен предоставлять на выбор различные методы для функций, работает, если нажать сочетание клавиш ctrl-x и ctrl-o. даже с вашим скриптом

TexSV ()
Ответ на: комментарий от TexSV

выбираю сочетанием ctrl-p

что именно выбираешь? у deoplete автоматический попап, который когда появляется то варианты выбираются через Tab (сверху вниз) или через дефолтные вимовские хоткеи навигации по pmenu: C-n/C-p.

а так-то табом удобнее, чем через контрол.

inoremap <expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>"

slon ()
Ответ на: комментарий от slon

вот эти варианты как раз через ctrl-p и ctrl-n выбираются, да через Tab удобнее. Но сам tern автоматически появляться не хочет, это окошко с вариантами приходится вручную вызывать через сочетание. хм, может с плагинами конфликтует

TexSV ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.