2009-03-18 15 views
17

vim + ctags sprawdza się również w projektach C, ponieważ C nie pozwala na przeciążanie funkcji i ogólnie zachęca do ręcznego dodawania symboli w związku z podstawowymi obiektami scopingu.vim, ctags i identyfikatory o identycznych nazwach

W C++ funkcje są często przeciążane i zastępowane w podklasach. To sprawia, że ​​vim zawsze przeskakuje do tagu w niewłaściwej klasie na "Ctrl + ]". Czy istnieje sposób, aby uczynić go bardziej inteligentnym? Wiem, że mogę przynieść listę z alternatywnymi tagami, ale to jest szalenie irytujące, że zawsze muszę przywołać tę listę i znaleźć potrzebny tag po numerze, ilekroć chcę przejść do definicji.

+0

chciałbym zobaczyć użyteczne rozwiązanie tego problemu. Jestem mniej dotknięty tym, że teraz używam Viemu coraz więcej, ale wciąż mnie to zmienia, kiedy przełączam się na projekty inne niż VC. – RedBlueThing

+0

Świetne pytanie, chciałbym znać odpowiedź na to również. – Dan

Odpowiedz

12

Istnieje również "tagNext", aby przejść do następnego znacznika (czyli tn < wprowadzić >)

6

Znam dwa obejścia swojej porblem (wydaje się, wiedział też):

  • Użyj: tselect i nazwę tagu lub g] z kursorem na znaczniku, aby uzyskać listę dopasowanych tagów i goto na tagu według numeru z listy;
  • map: tnext or: tprev na klawiszach skrótów (mapowałem na F6 i F7) i znajduję potrzebną funkcję manualnie;
8

Bardzo często używam tjump. Obsługuje funkcję uzupełniania kart, co jest pomocne. Jeśli zostanie znalezionych wiele tagów, wyświetli listę do wyboru, jeśli zostanie znaleziona, przeskoczy do tagu (w przeciwieństwie do tselect).

Zastosowanie:

:tj foo 
Powiązane problemy