Проблема с Ruby OmniComplete в Vim 7.3, которая находит совпадения на одной строке, а не на 2 строки вниз - PullRequest
5 голосов
/ 22 августа 2011

Я пытаюсь понять, почему ruby ​​omnicompl работает только для меня иногда.

Omnicomplete working Здесь все работает как положено.

Trying to same operation on the same ivar 2 lines down Но когда я пытаюсь сделать то же самое на том же самом иваре на 2 строки вниз, я получаю "Pattern not found"

Оба выполняются одинаково, набирая @ current_user_session.fi Ctrl + X + O

Я проверил tpopes rails.vim githubстраницу для открытых / закрытых вопросов и безуспешно пытался гуглить.

Мой macvim и vim скомпилирован с + ruby ​​

:echo &omnifunc возвращает rubycomplete#Complete

:Rails! возвращает rails.vim 4.3 (Rails-controller)

У меня есть мой полный vimdir на github для справки.

1 Ответ

1 голос
/ 13 февраля 2012

можно было бы предположить, что это потому, что в img2 теперь она ниже значения переменной (@current_user_session = UserSession.find).

, что означает, что, поскольку это теперь экземпляр, он ищет методы экземпляра, тогда как раньше он возвращал метод класса.

, например

User.find # => fine


user = User.find
user.find # => Method not found

чтобы продемонстрировать разницу, запустите:

User.methods.sort
User.find.methods.sort

вы увидите, что это совсем другое. прямо говоря, вы пытаетесь найти «найти» для пользователя, который у вас есть. «tom'.find» не имеет никакого смысла.

...