2011-11-25 4 views
5

Ho generare i miei tag (Esuberante Ctags 5,9 ~ svn20110310) in questo modo:Come posso fare i salti di tag vim intelligenti come OmniCppComplete?

ctags --c++-kinds=+p --fields=+iaS --extra=+q -L ctags.files 

ho grosso modo questa struttura di classe: (. Codice è da Aquaria's open source release)

class RenderObject 
{ 
    InterpolatedVector offset; 
}; 

class Quad : public RenderObject 
{ 
}; 

class KeyframeWidget : public Quad 
{ 
    void shiftRight() 
    { 
     if (!offset.isInterpolating()) 
      offset.interpolateTo(Vector(offset.x+80, 0), 0.1, 0, 0, 0); 
    } 
}; 

Se io tag jump on offset (Ctrl - ]), quindi ottengo un elenco ogni offset nella mia base di codici. Dopo aver digitato offset. alla fine di shiftRight(), OmniCppComplete inizia a offrire i completamenti solo per InterpolatedVector.

Come posso fare il mio tag salta intelligente come OmniCppComplete?

È solo che i tag salti non utilizzano alcun contesto, quindi conoscono solo i nomi dei simboli? (È lo stesso di :tag <C-r><C-w><CR>?) Esiste un'alternativa vim che li rende sensibili al contesto?

risposta

Problemi correlati