2010-01-25 17 views
15

मैं अपने Emacs बफर में एक फ़ंक्शन पर तुरंत स्थानांतरित करना चाहता हूं। मैं कुछ फ़ंक्शन चलाने और फ़ंक्शन नाम के लिए मुझसे पूछने के लिए एक संकेत प्राप्त करना चाहता हूं, वर्तमान बफर में परिभाषित प्रत्येक फ़ंक्शन के लिए प्रदान किए जाने के साथ।Emacs में, मैं वर्तमान फ़ाइल में फ़ंक्शंस के बीच कैसे कूद सकता हूं?

मैं आम तौर पर आसपास नेविगेट करने के etags उपयोग करते हैं, लेकिन कभी कभी मैं एक रूपरेखा विधि है कि कई फ़ाइलों में अधिरोहित किया गया है के लिए देख रहा हूँ। इन मामलों में, मुझे वह फ़ाइल मिल सकती है जो मुझे चाहिए लेकिन फिर मैं वहां फ़ंक्शन पर तुरंत कूदना चाहता हूं। टेक्स्टमैट में एक समान सुविधा है जहां आप संपादक के निचले दाएं भाग में एक सूची से परिभाषा का चयन कर सकते हैं।

http://www.emacswiki.org/emacs/Icicles_-_Tags_Enhancements

यह etags के लिए एक वृद्धि है और (अन्य बातों के अलावा) शामिल हैं टैग के साथ फ़ाइल नाम तो तुम अगर यह एक है बता सकते हैं:

उत्तर

32

बस वर्तमान फ़ाइल में कार्यों के आसपास कूद करने के? imenu का प्रयोग करें। यह अब तक सूचीबद्ध सभी विकल्पों का सबसे सरल और हल्का है और जो भी आप चाहते हैं उसके लिए पर्याप्त हो सकता है। यह Emacs में भी बनाया गया है और न्यूनतम सेटअप परेशानी है। इसमें ग्राफिकल और टेक्स्टुअल इंटरफेस हैं। कुछ भी अतिरिक्त और आप यहां दिए गए अन्य उत्कृष्ट सुझावों में से एक का उपयोग करके बेहतर हो जाएंगे।

+0

कौन सी भाषाएं समर्थित हैं? सी-परिवार और एलिसप, और क्या? –

+1

मुझे लगता है कि इनबिल्ट मोड के सबसे imenu के साथ ठीक काम करते हैं। एक मोड में इमेनू समर्थन जोड़ने के लिए भी बहुत आसान है। यह पायथन और सीपर मोड में काम करता है। मैंने उनको इस्तेमाल किया है। –

+1

सी # काम करता है, लेकिन देखना http://stackoverflow.com/questions/2240320 – Cheeso

0

Icicles संभव है कि आप के लिए देख रहे हैं के करीब है आप क्या देख रहे हैं।

0

कोशिश CEDET। यह एक सा पहले स्थापित करने के लिए मुश्किल है, लेकिन यहाँ एक उत्कृष्ट ट्यूटोरियल है: by Alex ott

और जब वह स्थापित हो जाता है, तो आप semantic-complete-jump उपयोग कर सकते हैं। दबाए गए टैब जोड़े के समय, और यह प्रतीक परिभाषा भी लाता है।

+0

अर्थ भी कुछ भी साथ अच्छा एकीकरण है, और 'कुछ भी-सी स्रोत-semantic' स्रोत अर्थ द्वारा पाया सब कुछ की एक सूची देता है। – haxney

1

speedbar मानक आता है, और आप के लिए एक समारोह परिभाषा है कि डीईएफ़ करने के लिए कूदता है एक प्रवेश पर, मौजूदा निर्देशिका में प्रत्येक फ़ाइल के लिए एक संक्षिप्त होने मेनू देता डिफ़ॉल्ट मध्य क्लिक करके। Emacs23 के साथ यह अधिक सामान्य बाएं क्लिक में बदल दिया गया था।

0

यदि एम-। गलत विधि लाता है, आप सी-यू एम टाइप कर सकते हैं। अगले नाम को उसी नाम से ढूंढने के लिए।

2

आप एकाधिक मिलान टैग से चुनने के लिए etags-select का उपयोग कर सकते हैं। लेकिन आपने जो जवाब पूछा वह imenu है।

0

वर्तमान फ़ाइल या फ़ाइलों आपके द्वारा चुने गए का एक सेट के भीतर नेविगेट करने के लिए है, तो आप नहीं एक टैग फ़ाइल की आवश्यकता है। आप इमेनू का उपयोग कर सकते हैं। लेकिन Icicles imenu कमांड का उपयोग करना बेहतर है।

क्यों? क्योंकि वे आपको पूरा करने का उपयोग करने देते हैं। सबस्ट्रिंग, regexp, उपसर्ग, या अस्पष्ट समापन। मिलान करने के लिए सरल पैटर्न को मिलाएं, या घटाएं।

कमान icicle-imenu में हिमलंब मोड को सी-सी = बाध्य है। लेकिन आप कमांड या केवल गैर-कमांड फ़ंक्शन (गैर-इंटरैक्टिव) को कमांड icicle-imenu-command या icicle-imenu-non-interactive-function का उपयोग करके देख सकते हैं।

इन आदेशों बहु आदेशों कर रहे हैं, जिसका अर्थ है कि वे वास्तव में हैं ब्राउज़र: आप कार्यशील परिभाषाएँ कुंजी सी आरईटी या सी-माउस-2 (प्रत्यक्ष छलांग) और सी-डाउन का उपयोग के बीच ट्रिप कर सकते हैं (चक्र)। आरईटी मारो या माउस -2 क्लिक एक अंतिम गंतव्य में बसाने के लिए।

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