2009-06-05 17 views
5

STL etiketlerini oluşturmak ve bu etiketleri Vim ile kullanmak için ctags kullandığımda, bu kapsamın farkında değildir. Ctrl-] kullanırsam, bu hatalı olsa bile, eşleşen ilk etikete gider. Örneğin: İmleç push_back (100) üzerindeyken ben CTRL] yazarsanızKapsam belirleme ile çalışmak için ctags + Vim mi alıyorsunuz?

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

, bu bitvector en push_back uygulanması yerine listesi en götüreceksin.

Bildiğim kadarıyla, ctags'ın kapsamın farkında olmadığını biliyorum, ancak OmniCppComplete gibi ctags kullanan bazı Vim eklentileri olduğunu biliyorum. Bunu düzeltecek herhangi bir eklenti veya ayarın farkında olan var mı?

cevap

4

Ctags'a hangi seçeneklerden geçiyorsunuz? --extra=+q ('g' fark)

+0

-R --C++ - çeşitleri = + p --fields = + IAS --extra = + q --language kuvvet = C++ Yani Bunu zaten yapıyorum ... –

+0

hmm .. teşekkürler için yine de olumlu. Ben ctags/omnicppcomplete çaylak, sadece sadece yüklemiş oldu değilim ve –

+0

@JohnWeldon :) çalıştırmak her zaman gerekli --extra = + q? yan etkisi nedir? – hugemeow

1

İsterseniz "gctrl-]" yapabilirim ... yardımcı olabilir. Bu size ilgili etiket konumunun bir listesini açacaktır. Birini seçmeniz gerekecek ve vim sizi dosya konumuna getirecektir.

Vimp jumps size mevcut atlamaları daha iyi perspektifler verin. Yerel veya küresel veya beyannameye ne olursa olsun atlayabilirsin.

Ve etkili bazı eklentileri tanımına getirmek için sorumlu işlevini değiştirmek ve böylece daha iyi GoToDeclaration sistemini verir.

İlgili konular