列出文件中定义的所有函数

4 投票
5 回答
2280 浏览
提问于 2025-04-17 15:04

在用vim编辑python文件的时候,

有没有什么好的方法可以列出所有的函数和类,并且能直接跳转到它们定义的地方?

5 个回答

1

TagList 或 Tagbar 插件。你需要安装 ctags,或者 exuberant ctags

以下是我 .vimrc 文件中的一部分:

Bundle "majutsushi/tagbar"
  nmap <script> <silent> <unique> <F4> :TagbarToggle<CR>
2

假设你使用的是ctags或者类似的工具,默认的命令:tag foo<Tab>或者:tag <Tab>可能就够用了,但你也可能会从其他文件中获取标签:

:tag foo<Tab>

另外一个解决办法是使用:ilist def .*。在提示符下,输入:<数字><回车>

:ilist def .*

不过我特别喜欢CtrlP:CtrlPBufTag命令:

:CtrlPBufTag

5

有点“手动操作”,不过:

:g/def\ .*

这会显示出行号,在正常模式下,你可以按 <行号>gg 来跳转到那一行。

基于jan自己找到的答案:

一个用户命令 GJ(代表 GrepJump!)

command! -nargs=1 GJ vimgrep <q-args> % | copen

撰写回答