如何使用jedi-vim转到从其他文件导入的函数定义?

时间:2016-10-24 15:26:41

标签: vim jedi-vim

我经常使用<leader>d转到函数定义。当此定义来自另一个文件时,它会将我带到文件的导入行。

如何使用jedi-vim转到定义该行导入函数的文件?

1 个答案:

答案 0 :(得分:2)

听起来您的配置有问题......仔细检查您的filetype确实是python。根据{{​​3}}:

,这应该有效
  

5.2。 g:jedi#goto_command

     

功能:jedi#goto()

     

默认值:<leader>d

     

转到定义(或作业)

     

此函数首先尝试jedi#goto_definitions,然后回退   jedi#goto_assignments用于内置模块。如果,它会产生错误   什么都找不到。注意:此实现受制于   更改。参考:the documentation

     

此命令尝试查找原始定义   游标下的函数/类。就像   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():
     

在file3.py中输入。