2011-11-25 2 views
5

내가 이렇게 내 태그 (무성한 Ctags는 5.9 ~ svn20110310)를 생성 :vim 태그 점프를 OmniCppComplete만큼 스마트하게 만들려면 어떻게해야합니까?

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

나는 경우, 태그가 offset (Ctrl - )으로 점프하면 모든 코드 목록에 offset이라는 목록이 표시됩니다. shiftRight() 끝에 offset.을 입력하면 OmniCppComplete가 InterpolatedVector에 대해서만 완료를 제공하기 시작합니다.

내 태그 점프를 OmniCppComplete과 똑같이 만들려면 어떻게해야합니까?

점프 태그는 컨텍스트를 사용하지 않으므로 심볼 이름 만 알고 있습니까? (정확히 :tag <C-r><C-w><CR>과 같은가요?) 상황 인식을 가능하게하는 vim 대안이 있습니까?

답변

2

최근에 Vim & 용 SmartTag 플러그인을 사용하기 시작한 것은 주변 C++ 코드의 문맥 정보를 사용하여 올바른 태그를 찾는데 매우 유용했습니다.

당신은 여기에서 다운로드 할 수 있습니다

https://github.com/MarcWeber/SmartTag

가 CTRL-와 함께 사용할 수 있으려면] 당신은 적용 tagfunc 패치와 빔 자료를 사용해야합니다. 여기에 있습니다 :

http://llorens.visualserver.org/vim73-tagfunc.zip

관련 문제