Как сделать прыжки с тегов vim такими же умными, как OmniCppComplete?
Я генерирую свои теги (Exuberant Ctags 5.9 ~ svn20110310) следующим образом:
ctags --c++-kinds=+p --fields=+iaS --extra=+q -L ctags.files
У меня примерно такая структура классов:
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);
}
};
(Код отАквариум с открытым исходным кодом.)
Если я помечу прыгать наoffset
(Ctrl-]), тогда я получаю список каждыйoffset
в моей кодовой базе. После того, как я наберуoffset.
до концаshiftRight()
OmniCppComplete начинает предлагать дополнения только дляInterpolatedVector
.
Как я могу сделать так, чтобы мой тег прыгал так же умно, какOmniCppComplete?
Просто переходы тегов не используют никакого контекста, поэтому они знают только имена символов? (Это точно так же, как:tag <C-r><C-w><CR>
?) Есть ли альтернатива vim, которая делает их контекстно-зависимыми?