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

时间:2013-02-07 08:08:57

标签: python vim

在vim中编辑python文件时;

列出所有函数或类的好方法是什么,还有机会跳转到定义它们的行?

5 个答案:

答案 0 :(得分:4)

一点点“手动”但是:

:g/def\ .*

将显示这些行,并且在正常模式下,您可以按<line number>gg跳转到该行。

建立在jan的自己找到的答案下面:

用户命令GJ(对于GrepJump!)

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

答案 1 :(得分:1)

TagList或Tagbar插件。您需要安装ctags或exuberant ctags

摘自.vimrc

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

答案 2 :(得分:1)

知道了。如果使用:vim命令,则搜索将重定向到quickfixlist。因此,

:vim /def\ ./ %
:copen

即。 “在当前文件中执行vim [grep]”和“打开quickfix窗口”跳转到匹配将执行任务。

答案 3 :(得分:0)

我喜欢使用jpythonfold方法/类代码折叠:

screenshot of vim editing session using jpythonfold

不完全是您所要求的,但它确实提供了可以快速浏览的类,方法和功能的精彩显示。

答案 4 :(得分:0)

假设您使用ctags或某些变体,默认的:tag foo<Tab>:tag <Tab>命令就足够了,但您可以从其他文件中获取标记:

:tag foo<Tab>

:ilist def .*是另一种解决方案。在提示符下,键入:<Number><CR>

:ilist def .*

但我喜欢CtrlP:CtrlPBufTag

:CtrlPBufTag