python - 让 Vim 了解 python 的 ctag 类型注释

标签 python vim ctags

我使用Vim+Ctags来编写Python,我的问题是Vim经常跳转到标签的导入,而不是定义。这是一个常见问题,已经在此处的一些帖子中得到解决。

this post显示如何从标签文件中删除导入。这工作得很好,除了有时在导入中添加标签很有用(例如,当您想要列出导入类/函数的所有位置时)。

this post展示如何在不从标签文件中删除导入的情况下获取定义。这基本上就是我到目前为止所做的事情(只是将 :tjump 重新映射到单个击键)。但是,您仍然需要导航出现的标签列表以查找定义条目。

如果可以用一个和弦(例如 )告诉 Vim“得到定义”,那就太好了。 Exuberant Ctags 使用条目类型来注释标签条目(例如,c 表示类,i 表示导入)。有谁知道是否有办法让 Vim 使用这些注释,这样我就可以说“转到第一个不是 i 类型的标签”?

最佳答案

不幸的是,Vim 本身无法根据某些上下文进行推理并跳转到导入或定义:在 tags 中搜索标签时文件中,Vim 在第一个匹配处停止无论它是什么A plugin可能有帮助,但我不知道这样的事情。

而不是 <C-]>:tag foo ,您可以使用g]:ts foo它会向您显示匹配列表(包含类型和每个匹配行的预览),而不是跳到第一个匹配。这样,就可以准确地告诉 Vim 想去哪里。

关于python - 让 Vim 了解 python 的 ctag 类型注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15219065/

相关文章:

vim - 使用 tmux 在 vi​​m 中表情符号显示问题

正则表达式 - 反向引用 - 单词定界符?

emacs - 如何将ctags格式文件转换为etags格式文件?

python - 为什么 ipywidget 按钮调用的 my 函数不返回输出?

python - 将 1d NumPy 中的值分配给类

python - 如果列表中的9个字符串全部被替换: do something

python - 如何压缩根据输入选择多少并发任务的代码?

macos - OSX中的Vim : How to paste text from open window into a open file in vim?

java - 使用 ctags 和 vim 获得更好的语法突出显示

c - 通常在 vim/标签组织中一次使用多个标签文件