在 jedi-vim 中将 goto 与用户定义的模块一起使用

Using goto with user-defined modules in jedi-vim

jedi-vim 与我系统上安装的模块和功能配合得很好。例如,如果我将光标放在 glob.glob() 上并点击 <leader>d,jedi-vim 会将我带到 /usr/lib/python/ 中 glob() 的定义。

但是,对于用户定义的模块,其中使用像

这样的行导入函数
from mymodule import myfunction

jedi-vim 可能不会带我去函数定义。如果模块与我正在编辑的文件不在同一目录中,它会给出消息 "jedi-vim: No documentation found for that"。同样,键入 <Shift>k 会给出相同的错误消息。

你知道如何让不同目录中的用户定义模块与 jedi-vim 一起工作吗?

如果您想在 vim 内解决此问题,要设置的正确变量是 PYTHONPATH。参见 this doc

因此,如果您将此添加到您的 .vimrc

let $PYTHONPATH .= ';' . 'path/to/distant/file/'

然后 Jedi 的 goto 命令也适用于远程文件。

. 是 vim 脚本字符串连接。