Quero listar todos os tipos de arquivos que o Vim reconhece em seu caminho de execução.
Por exemplo:
ada
arc
c
clojure
common-lisp
elisp
go
python
Como eu posso fazer isso?
Se você precisar deles para um comando personalizado que aceita argumentos de tipo de arquivo, basta usar :command -complete=filetype
. Caso contrário, você pode derivar a lista através da globpath()
função:
echo join(map(split(globpath(&rtp, 'ftplugin/*.vim'), '\n'), 'fnamemodify(v:val, ":t:r")'), "\n")
Isso obtém todos os scripts ftplugin do runtimepath e modifica o filespec via fnamemodify()
para listar apenas a raiz do nome do arquivo. split()
converte em uma lista e join()
volta para as linhas para :echo
ing.
ftplugin/after
?after/ftplugin
, e sim, porque esses estão contidos&rtp
.