Listar todos los complementos de tipo de archivo conocidos por Vim


14

Quiero enumerar todos los tipos de archivo que Vim reconoce de su ruta de tiempo de ejecución.

Por ejemplo:

ada
arc
c
clojure
common-lisp
elisp
go
python

¿Cómo puedo hacerlo?

Respuestas:


17

Si los necesita para un comando personalizado que toma argumentos de tipo de archivo, puede usarlos :command -complete=filetype. De lo contrario, puede derivar la lista a través de la globpath()función usted mismo:

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

Esto obtiene todos los scripts de ftplugin del runtimepath, y luego modifica la especificación del archivo fnamemodify()para que solo enumere la raíz del nombre del archivo. split()se convierte en una lista y join()vuelve a las líneas para :echoing.


¿Esto también toma archivos ftplugin/after?
Profpatsch

2
Quieres decir after/ftplugin, y sí, porque esos están contenidos en &rtp.
Ingo Karkat

Esto da un error de sintaxis en bash y zsh.
mareoraft

3
@mareoraft: ¡Prueba esto dentro de Vim, no en el shell!
Ingo Karkat
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.