Vim के लिए जाने जाने वाले सभी फ़िलाइट प्लगइन्स को सूचीबद्ध करें


14

मैं सभी फ़ाइलेपेट्स को सूचीबद्ध करना चाहता हूं जो विम अपने रनटाइमपथ से पहचानता है।

उदाहरण के लिए:

ada
arc
c
clojure
common-lisp
elisp
go
python

मैं यह कैसे कर सकता हूं?

जवाबों:


18

यदि आपको कस्टम कमांड के लिए उन की आवश्यकता होती है जो फ़िलाटाइप तर्कों को लेता है, तो आप बस उपयोग कर सकते हैं :command -complete=filetype। इसके अलावा, आप इस globpath()फ़ंक्शन को स्वयं फ़ंक्शन के माध्यम से प्राप्त कर सकते हैं :

echo join(map(split(globpath(&rtp, 'ftplugin/*.vim'), '\n'), 'fnamemodify(v:val, ":t:r")'), "\n")

यह रनटाइमपथ से सभी ftplugin स्क्रिप्ट प्राप्त करता है, और उसके बाद fnamemodify()केवल फ़ाइल नाम की जड़ को सूचीबद्ध करने के लिए filespec को संशोधित करता है । split()एक सूची में कनवर्ट करता है, और join()वापस :echoआईएनजी के लिए लाइनों के लिए ।


क्या यह भी फाइलों से लेता ftplugin/afterहै?
प्रॉस्पेक्टस

2
आप मतलब है after/ftplugin, और हाँ, क्योंकि वे में निहित हैं &rtp
इंगो करकट

यह बैश और zsh दोनों पर एक सिंटैक्स त्रुटि देता है।
मेरोराफ्ट

3
@ ममोरैफ्ट: विम के अंदर यह कोशिश करें, शेल में नहीं!
इंगो करकट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.