जवाबों:
तुम यह कर सकते थे:
:redir => scriptn | sil exe 'scriptnames' | redir end | echo(system('grep pattern',scriptn))
यह क्या करता है:
:redir => scriptn "redirect following output to variable scriptn
:sil exe 'scriptnames' "silently execute scriptnames
:redir end "end the redirection
:echo(system('grep pattern',scriptn)) "echo the call of grep witht that input with the pattern `pattern`
:filterकमांड इस के लिए एक सरल, एक-लाइन दृष्टिकोण है।
:filter /indent/ scriptnames
केवल कमांड indentके आउटपुट से पैटर्न से मेल खाती लाइनें दिखाएगा :scriptnames।
मैं :redirअक्सर इन जैसे प्रश्नों के लिए मुख्य समाधान देखता हूं , जो ठीक हैं और बहुत अधिक शक्ति और विकल्प प्रदान करते हैं, लेकिन मुझे लगता है कि जब वे अधिक से अधिक बार नहीं होते हैं, तो वे थोड़े ओवरकिल होते हैं, आपको बस यह जांचने की आवश्यकता है कि क्या कुछ है। :filterपल और मृत सरल में उपयोग करने के लिए सुविधाजनक है।
सबसे पहले, आपको इसके आउटपुट को हथियाने scriptnamesऔर इसे बफर में डालने की आवश्यकता है ।
आप इसके लिए उपयोग कर सकते हैं :redir:
:redir @a " redirect output of following ex commands to register a
:scriptnames " press G to get to the end of the output if it's too long
:redir END " end the redirection
:vnew " new buffer in vertical window
:put a " put content of register
/pattern " search for 'pattern'
उस ने कहा, एक :scriptnameआउटपुट जो आपकी अपनी आँखों से स्कैन करने के लिए बहुत लंबा है, गहरी समस्याओं का एक लक्षण हो सकता है।
:scriptnamesमैग्ना कार्टा से अधिक लंबा है तो आप टिम पोप के शास्त्र को स्थापित करने पर विचार कर सकते हैं । यह एक फ़ंक्शन प्रदान करता है जो :Scriptnamesकि सभी कबाड़ को एक उपसर्ग सूची में रखता है। वहां आप इसे अपने दिल की सामग्री को खोज सकते हैं, इसे किसी फ़ाइल में सहेज सकते हैं, या संबंधित स्क्रिप्ट पर जा सकते हैं।
NERDTreeके आउटपुट को बनाए रखने के लिए अपने सभी कार्यों को एक ही फाइल में रखना चाहिए :scriptnames? क्या यह इसे एक बेहतर लिखित प्लगइन बना देगा?