跳过 python“导入”丰富的 ctag 中的声明

发布于 2024-09-16 20:39:44 字数 353 浏览 11 评论 0原文

如果我有两个文件

file a.py:

class A():
    pass

file b.py:

from a import A
b = A()

当我在 vim 中使用 ctags 并按 Ctrl+] 时,它会将我重定向到 import 语句,而不是类定义。在此代码中一切正常:

文件a.py:

class A():
    pass

文件b.py:

from a import *
b = A()

if I have two files

file a.py:

class A():
    pass

file b.py:

from a import A
b = A()

When I use ctags and press Ctrl+] in vim, it redirects me to import statement, not to class definition. In this code all is ok:

file a.py:

class A():
    pass

file b.py:

from a import *
b = A()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

天邊彩虹 2024-09-23 20:39:44

您可以将以下行添加到 ~/.ctags 文件中。

--python-kinds=-i

让 ctags 跳过索引导入语句。要查看还可以启用/禁用哪些内容:

ctags --list-kinds=python

You can add the following line to your ~/.ctags file.

--python-kinds=-i

to have ctags skip indexing import statements. To see what else you can enable/disable:

ctags --list-kinds=python

你对谁都笑 2024-09-23 20:39:44

我使用类似于以下的映射,它允许我在给定标记有多个匹配时进行选择:

nnoremap <C-]> :execute 'tj' expand('<cword>')<CR>zv

另外,检查 ctags 的手册页,您可能会发现有一种方法可以禁用这种类型的标记。

I use a mapping similar to the following which allows me to choose when there are multiple matches for a given tag:

nnoremap <C-]> :execute 'tj' expand('<cword>')<CR>zv

Also, check the man page for ctags, you might find there is a way to disable this type of tagging.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文