LINUX.ORG.RU

автодополнение в VIM

 ,


1

4

что-то не могу понять логики работы omni completion в vim. Значит, когда пишу хелловорлд вроде

#!/usr/bin/python2

import os
os.pat<C-X><C-O>

он, значит, дополняет строку до os.path.

Однако с другим модулем он, например, уже не дружит:

import xcb
import xcb.randr

conn = xcb.conn<C-X><C-O>

ничего не находит.

Ни разу не спец ни в питоне, ни в виме, но как-то странно это.

Да, код замечательно автодополняется в IPython.

---

В общем, лучшее, что нашел — это https://github.com/ivanov/vim-ipython. Немного геморройно ключевые места кода отсылать ipython'у, зато автокомплит там наиболее полный.

★★★★★

Последнее исправление: demidrol (всего исправлений: 1)

neovim + deoplete + jedi

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

хз, company-jedi в emacs как-то тоже не справляется.

demidrol ★★★★★
() автор топика

Это зависит от типа плагина дополнения. Какие-то работают по словарю и новые библиотеки не подхватывают, какие-то могут брать данные из питона. Здесь просто нужен второй тип плагинов. Упомянутый jedi это, вроде, умеет (но, кажется, были и другие).

xaizek ★★★★★
()
Последнее исправление: xaizek (всего исправлений: 1)
Ответ на: комментарий от l-_-l

Только не японские поделочки, только не это. (Мне neosnippet с вырвиглазным джапанглишем в справке хватило надолго, так и не нашёл где включается.) В deoplete пыхтонг3 к тому же приколочен похоже намертво. Или это отламывается? Мне стек трёшки не подтянуть.

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

neovim лучше классического vim?

Скоростью работы, встроенным терминалом и поддержкой передовых плагинов.

l-_-l
()
Ответ на: комментарий от d_a

Не котируешь изделия jp комьюнити? У меня пол вима в нем, все работает.

deoplete пыхтонг3 к тому же приколочен похоже намертво. Или это отламывается?

Нет, не отламывается, нужен 3. Какое-то у тебя несерьезное рабочее окружение, я еще могу понять когда нет 2-го петона, но чтобы страдать из-за отсутствия 3-го — это дичь вот уже почти летом 2016.

l-_-l
()
Ответ на: комментарий от conformist

а нет ли возможности у вас проверить сниппет с xcb? А то как-то ни один редактор сожрать не смог...

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

В репах debian я что-то не нашёл этого модуля. А значит никто и не писал под него completion и тут или самому написать или пользоваться без дополнений.

conformist ★★★
()
Ответ на: комментарий от l-_-l

Не котируешь изделия jp комьюнити? У меня пол вима в нем, все работает.

Ох нет неты. Устойчивая аллергия по какой-то причине. Я за то, чтобы написанием программ и документации занимались выпускники высших учебных заведений США и Европы. У них очень хорошо получается. А товарищи с востока пускай сосредоточатся на рисовании анимешных девок и писании музыки для вокалоидов. У них получается ещё лучше. No offence.

Нет, не отламывается, нужен 3. Какое-то у тебя несерьезное рабочее окружение, я еще могу понять когда нет 2-го петона, но чтобы страдать из-за отсутствия 3-го — это дичь вот уже почти летом 2016.

Да, здесь своя атмосфера. Попробую из шапкиных коллекций прикрутить трёшку и этот деоплете, когда за пыхтонг вновь сяду.

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

А что сразу я?

Да, по всем параметрам neovim вкуснее, но у него по-прежнему не пашет буффер обмена. Обещали плагин, но результата пока нет. В остальном он даже шустрее кажется.

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

Неравноценный обмен небольшой прирост скорости против буфера обмена. Пожалуй не буду neovim пока даже трогать.

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

по-прежнему не пашет буффер обмена

ты бы ему сказал, что у тебя экзотические запросы на буффер обмена (visual mode -> СКМ), а то он может подумать, как это сделают 99%, что речь про якобы не работающее взаимодействие с иксовыми прогами, типа parcellite и т.п. — которое работает хорошо. У меня например это и в виме не работает (выделить в visual mode и вставить СКМ где-то).

l-_-l
()
Ответ на: комментарий от r3lgar

у него по-прежнему не пашет буффер обмена.

В такой формулировке это 4.2. Регистры * и + на месте и делают ровно то, что должны (используя xclip).

d_a ★★★★★
()
Ответ на: комментарий от l-_-l

Да я и остальной клипборд не стал прикручивать, когда СКМ не взлетело. Я обычно им чаще пользуюсь, так как внутре вима мне всегда хватает yank.

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

У меня например это и в виме не работает (выделить в visual mode и вставить СКМ где-то).

В vim это работает, это в nvim отломали зачем-то, только vim должен быть с +clipboard и запускаться при этом он будет, вероятно, из отдельного файла (у меня /usr/bin/vimx, например).

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

Тоже выше читай, мою проблему описали за меня.

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

x11-libs/xpyb в gentoo, в других дистрибутивах наверняка что-то содержащее xpyb в названии (ага, так вот, по-наркомански)

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

с этим xcb какая-то гречка, попробовал с другими — всё работает, а вим в принципе не хочет работать с этим модулем, можешь проверить:

:python import xcb
вывалит ошибку, хотя на другие никакие не реагирует так.

Я пробовал и вим+neocomplete и nvim+deoplete. Что-то не так с этим xcb. Хотя если просто запустить интерпретатор и заимпортить — работает.

l-_-l
()
Ответ на: комментарий от l-_-l

вероятно, дело в том, что они питоновские привязки как-то особо извращенно и цинично генерируют. А либа вообще-то удобная.

demidrol ★★★★★
() автор топика

OmniCompletion ЕМНИП предполагает наличие функции, которая и вычисляет это дополнение. Там и описана логика.

Еще есть много других дополнений. Например, для простых текстовых файлов есть Ctrl+X CTRL+N - дополняет по слову, которое уже встречалось в тескте.

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