2009-06-05 19 views
5

Kiedy używam ctags do generowania tagów STL i używania tych tagów z Vimem, nie jest on świadomy zakresu. Jeśli użyję ctrl-], przejdzie ona do pierwszego pasującego tagu, nawet jeśli jest niepoprawny. Na przykład:Pierwsze ctags + Vim do pracy z zakresu?

std::list<int> mylist; 
mylist.push__back(100); 

gdybym wpisać ctrl-], gdy kursor znajduje się nad push_back (100), to zajmie mi do realizacji bitvector dnia push_back zamiast lista jest.

O ile mi wiadomo, ctags nie zna zakresu, ale wiem, że istnieją pewne wtyczki Vima, które używają ctagów, takich jak OmniCppComplete. Czy ktoś wie o jakichkolwiek wtyczkach lub ustawieniach, które to naprawią?

Odpowiedz

4

Jakie opcje przechodzisz do ctags? --extra=+q może pomóc ...

+0

-R --C++ - rodzaje = + p - pola = + iaS --extra = + q --language-force = C++ Więc już to robię ... –

+0

hmm .. Dzięki za awersja i tak. Jestem noem ctags/omnicppcomplete, po prostu właśnie to zainstalowałem i uruchomiłem :) –

+0

@JohnWeldon is --extra = + q zawsze potrzebne? jaki jest jej efekt uboczny? – hugemeow

1

Możesz opcjonalnie zrobić "gctrl-]" (zwróć uwagę na "g"). Spowoduje to otwarcie listy względnej pozycji znacznika. Musisz wybrać jeden, a vim przeniesie cię do pozycji pliku.

Vimp jumps Daj lepszą perspektywę dostępnych skoków. Możesz przeskoczyć do lokalnego, globalnego lub dowolnego oświadczenia.

Skutecznie, niektóre wtyczki zmieniają funkcję odpowiedzialną za doprowadzenie cię do definicji, dzięki czemu masz lepszy system GoToDeclaration.

Powiązane problemy