从项目中获取类/函数

时间:2012-06-18 12:01:28

标签: python search vim tags grep

在grep(或vim)中是否有办法打印出一个命名函数/类?

即。从:

    class InternalTimer(Sim.Process):
        def __init__(self, fsm):
            Sim.Process.__init__(self, name="Timer")
            random.seed()
            self.fsm = fsm

        def Lifecycle(self, Request):
            while True:
                yield Sim.waitevent, self, Request
                yield Sim.hold, self, Request.signalparam[0]
                if(self.interrupted()):
                    self.interruptReset()
                else:
                self.fsm.process(Request.signalparam[1])

调用$my-func-grep '__init__(self,fsm)' filename.py会产生

        def __init__(self, fsm):
            Sim.Process.__init__(self, name="Timer")
            random.seed()
            self.fsm = fsm

1 个答案:

答案 0 :(得分:3)

您可以创建一个有效执行以下操作的vim扩展名:

import inspect
print inspect.getsource(name_of_function)

这将打印功能签名和功能正文。如果使用Python支持编译Vim,则可以在Python中编写扩展。