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?