vim python 导航到导入的文件

use*_*807 6 python vim ctags

谁是这个问题可能看起来很愚蠢,但我被卡住了。我在一些 python 文件中编写了 gn​​uradio 应用程序。在 VIM 中,我尝试打开一个导入的文件,例如:

from gnuradio import audio
Run Code Online (Sandbox Code Playgroud)

假设我使用该功能:

audio.sink()
Run Code Online (Sandbox Code Playgroud)

在vim中可以快速获取内容

sink()
Run Code Online (Sandbox Code Playgroud)

功能?以 ctags 的命令 CTRL-] 的方式。

Ps 使用 Ctags 导航audio.sink()返回错误:tag not found: sink。使用 Ctags 我只能导航到本地定义(不能导入)。我检查

ctags --list-kinds=python

导入选项已启用。里面的tags文件我看到:

audio   fm_receiver.py  /^from gnuradio import audio$/;"    i
Run Code Online (Sandbox Code Playgroud)

Con*_*ner 5

这工作得相当快,但并不完全像你想要的那样。您将此行添加到您的 .vimrc

nnoremap <C-k> :!ctags -aR /usr/lib/python*/site-packages/<cword><cr>
Run Code Online (Sandbox Code Playgroud)

然后,您可以将鼠标悬停在包名称上gnuradio,然后按CTRL+K执行命令,该命令会将包源文件附加到本地标记文件(也是 vim 的默认设置)。然后你可以CTRL+]关键字sink来获取函数。