2009-06-05 14 views
5

जब मैं एसटीएल के टैग जेनरेट करने के लिए सीटीएजी का उपयोग करता हूं और उन टैग्स को विम के साथ उपयोग करता हूं, तो यह स्कॉइंग के बारे में पता नहीं है। अगर मैं ctrl-] का उपयोग करता हूं तो यह पहले टैग पर जाएगा जो मेल खाता है, भले ही यह गलत है। उदाहरण के लिए:स्कोपिंग के साथ काम करने के लिए ctags + Vim प्राप्त करना?

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

अगर मैं Ctrl-] स्पर्श करके रखें कर्सर push_back (100) खत्म हो गया है, यह मेरे push_back की bitvector के कार्यान्वयन सूची के बजाय करने के लिए ले जाएगा।

जहां तक ​​मुझे पता है कि सीटीएजी को गुंजाइश की जानकारी नहीं है, लेकिन मुझे पता है कि कुछ विम प्लगइन्स हैं जो ओटीनीसीपीकंपलेट जैसे सीटीएजी का उपयोग करते हैं। क्या किसी को किसी भी प्लगइन या सेटिंग्स के बारे में पता है जो इसे ठीक करेगा?

उत्तर

4

सीटीएजी के लिए आप कौन से विकल्प गुजर रहे हैं? --extra=+q मदद कर सकता है ...

+0

-R --C++ - प्रकार = + पी - फ़ील्ड = + iaS --extra = + q - भाषा-बल = सी ++ तो मैं पहले से ही ऐसा कर रहा हूं ... –

+0

हम्म .. धन्यवाद वैसे भी ऊपर की ओर। मैं एक ctags/omnicppcomplete noob हूँ, मैं बस बस स्थापित और चलाने के लिए हुआ :) –

+0

@JohnWeldon है --extra = + q हमेशा की जरूरत है? इसका दुष्प्रभाव क्या है? – hugemeow

1

आप वैकल्पिक रूप से "gctrl-]" ('g' पर ध्यान दें) कर सकते हैं। यह आपको सापेक्ष टैग स्थिति की एक सूची खुल जाएगा। आपको एक चुनना होगा और vim आपको फ़ाइल स्थिति में लाएगा।

Vimp jumps आपको उपलब्ध कूदों के बेहतर दृष्टिकोण दें। आप स्थानीय या वैश्विक या जो भी घोषणा कर सकते हैं कूद सकते हैं।

और प्रभावी रूप से, कुछ प्लगइन्स आपको परिभाषा में लाने के लिए फ़ंक्शन को चार्ज करते हैं और इसलिए, आपको बेहतर GoToDeclaration सिस्टम दें।

संबंधित मुद्दे