Похоже, что у вас что-то не так с вашей конфигурацией ... Двойная проверка, что ваш filetype
действительно python
. Это должно работать в соответствии с the documentation:
5.2. g:jedi#goto_command
Функция: jedi#goto()
По умолчанию: <leader>d
Перейти к определению (или назначения)
Эта функция сначала пытается jedi#goto_definitions
, и возвращается к jedi#goto_assignments
для встроенных модулей. Он вызывает ошибку, если ничего не найдено. ПРИМЕЧАНИЕ: эта реализация зависит от изменения . Ссылка: https://github.com/davidhalter/jedi/issues/570
Эта команда пытается найти исходное определение функции/класса под курсором. Как и функция jedi#goto_assignments()
, она не работает, если определение не находится в исходном файле Python.
Разница между jedi#goto_assignments()
и jedi#goto_definitions()
, что последний выполняет рекурсивные поиск. Возьмем, к примеру, следующая структура модуля:
# file1.py:
from file2 import foo
# file2.py:
from file3 import bar as foo
# file3.py
def bar():
pass
jedi#goto_assignments()
функция примет вас заявление в
from file2 import foo
в file1.py, в то время как функция jedi#goto_definitions()
займет у вас весь путь
def bar():
линия in файл3.py.
Вы правы. Он работает с установленными библиотеками. Я этого не понимал. Проблема с библиотеками, которые я написал. Я задам еще один вопрос, связанный с этой проблемой. – krumpelstiltskin
Другой вопрос: http://stackoverflow.com/questions/40235611/using-goto-with-user-defined-modules-in-jedi-vim. – krumpelstiltskin