2011-11-25 19 views
5

wygenerować swoje tagi (Żywiołowy Ctags 5,9 ~ svn20110310) tak:Jak mogę zrobić skoki tagów vim tak inteligentne jak OmniCppComplete?

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

mam mniej więcej tej klasy strukturę: (. Kod jest od 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); 
    } 
}; 

Jeśli I skok tagu na offset (Ctrl - ]), następnie otrzymuję listę co offset w mojej bazie kodów. Po wpisaniu offset. na końcu shiftRight(), OmniCppComplete rozpoczyna oferowanie uzupełnień tylko dla InterpolatedVector.

Jak sprawić, by mój tag był tak inteligentny jak OmniCppComplete?

Czy to znaczy, że skoki znaczników nie używają żadnego kontekstu, więc znają tylko nazwy symboli? (Czy jest to dokładnie to samo, co :tag <C-r><C-w><CR>?) Czy istnieje alternatywa vim, która sprawia, że ​​są świadomi kontekstu?

Odpowiedz