¿Cómo puedo hacer saltos de etiquetas vim tan inteligentes como OmniCppComplete?

Genero mis etiquetas (Etiquetas exuberantes 5.9 ~ svn20110310) como esta:

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

Tengo aproximadamente esta estructura de clases:

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);
    }
};

(El código es de Lanzamiento de código abierto de Aquaria.)

Si etiqueto saltar enoffset ( Ctrl-]), luego obtengo una lista de cadaoffset en mi base de código. Después de escribiroffset. hasta el final deshiftRight(), OmniCppComplete comienza a ofrecer terminaciones solo paraInterpolatedVector.

¿Cómo puedo hacer que mi etiqueta salte tan inteligente como OmniCppComplete?

¿Es solo que los saltos de etiqueta no usan ningún contexto, por lo que solo conocen los nombres de los símbolos? (¿Es exactamente lo mismo que:tag <C-r><C-w><CR>?) ¿Existe una alternativa vim que los haga conscientes del contexto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta