2017-10-14 15 views
0

我注意到我的ctags泛滥我的屏幕潜在的定义结果,如果我正在寻找的函数名称是通常命名的,如write。为了详细说明:在write按Ctrl +]Ctags:找到一个常用函数名称

class SunsetHandler(tornado.web.RequestHandler): 
    def on_response(self, response): 
     if response.error: 
      self.write(response.error) 

调用CTAGS返回许多结果,当只有write我感兴趣的应该是从tornado.web.RequestHandler

我得到类似以下,其中只有这一次顶部的结果是我在寻找的结果:

# pri kind tag    file 
    1 F m write    env/lib/python2.7/site-packages/tornado/wsgi.py 
       language:Python class:_WSGIConnection 
       def write(self, chunk, callback=None): 
    2 F m write    env/lib/python2.7/site-packages/tornado/httputil.py 
       language:Python class:HTTPServerRequest 
       def write(self, chunk, callback=None): 
    3 F m write    env/lib/python2.7/site-packages/tornado/httputil.py 
       language:Python class:HTTPConnection 
       def write(self, chunk, callback=None): 
    4 F m write    env/lib/python2.7/site-packages/tornado/web.py 
       language:Python class:RequestHandler 
       def write(self, chunk): 
    5 F m write    env/lib/python2.7/site-packages/tornado/iostream.py 
       language:Python class:BaseIOStream 
       def write(self, data, callback=None): 
    6 F m write    env/lib/python2.7/site-packages/tornado/http1connection.py 
       language:Python class:HTTP1Connection 
       def write(self, chunk, callback=None): 
    7  v WRITE    env/lib/python2.7/site-packages/tornado/ioloop.py 
       language:Python class:IOLoop 
       WRITE = _EPOLLOUT 

我如何可以隔离查询,除了人工修剪的CTAGS排除列表目录?即使我添加以下,有可能在一个大的回购几个结果,为self.write

ctags -R --fields=+l --languages=python --python-kinds=-iv -f ./tags --exclude='env' env/lib/python2.7/site-packages/tornado/*

回答

0

C标签本身已包含的信息(你可以看到在第4个结果class:RequestHandler标签)。

的问题是在编辑器级别:为了告诉它寻找RequestHandler实例CTAGS,VIM将必须能够解析你的文件,确定selftornado.web.RequestHandler,再通过即进入ctags查找。 Vim无法做到这一点,并且据我所知,没有任何插件可以添加该功能,除非通过诸如eclim之类的内容,而不再使用ctags。