Ich möchte alle Dateitypen auflisten, die Vim anhand seines Laufzeitpfads erkennt.
Beispielsweise:
ada
arc
c
clojure
common-lisp
elisp
go
python
Wie kann ich es tun?
Wenn Sie diese für einen benutzerdefinierten Befehl benötigen, der Dateitypargumente akzeptiert, können Sie sie einfach verwenden :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-Skripte vom Laufzeitpfad abgerufen und die Dateispezifikation über so geändert fnamemodify()
, dass nur das Stammverzeichnis des Dateinamens aufgeführt wird. split()
konvertiert in eine Liste und join()
zurück zu den Zeilen für :echo
ing.
ftplugin/after
?after/ftplugin
, und ja, weil diese enthalten sind&rtp
.