2011-11-25 36 views
5

我產生我的標籤(旺盛Ctags的5.9〜svn20110310)是這樣的:如何使OmniCppComplete和vim標籤一樣聰明?

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

我大致有這樣的類結構:(代碼是從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); 
    } 
}; 

如果我標記跳轉offsetCtrl - ]),然後我在我的代碼庫中獲得每個offset的列表。在我輸入offset.shiftRight()的末尾之後,OmniCppComplete僅爲InterpolatedVector開始提供完成。

如何讓我的標籤像OmniCppComplete一樣靈巧跳躍?

它只是標籤跳轉不使用任何上下文,所以他們只知道符號名稱? (它是否與:tag <C-r><C-w><CR>完全相同?)是否有vim替代方案使其能夠識別上下文?

回答