Alle für Vim bekannten Dateityp-Plugins auflisten

2712
Profpatsch

Ich möchte alle Dateitypen auflisten, die Vim von seinem Laufzeitpfad erkennt.

Zum Beispiel:

ada arc c clojure common-lisp elisp go python 

Wie kann ich es tun?

14

1 Antwort auf die Frage

17
Ingo Karkat

Wenn Sie diese für einen benutzerdefinierten Befehl benötigen, der Dateityp-Argumente verwendet, können Sie dies einfach tun :command -complete=filetype. Ansonsten können Sie die Liste über die globpath()Funktion selbst ableiten :

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

Dadurch werden alle ftplugin-Skripts vom Laufzeitpfad abgerufen und dann die Dateispezifikation über geändert, fnamemodify()um nur den Stamm des Dateinamens aufzulisten . split()konvertiert in eine Liste und join()zurück in Zeilen für die :echoEingabe.

Nimmt das auch Dateien von `ftplugin / after` mit? Profpatsch vor 11 Jahren 0
Du meinst "after / ftplugin" und ja, weil diese in "& rtp" enthalten sind. Ingo Karkat vor 11 Jahren 2
Dies führt zu einem Syntaxfehler in bash und zsh. mareoraft vor 9 Jahren 0
@Mareoraft: Versuchen Sie es in Vim, nicht in der Schale! Ingo Karkat vor 9 Jahren 2
@IngoKarkat zoinks! funktioniert super, danke! mareoraft vor 9 Jahren 0