Listar todos os plugins de tipo de arquivo conhecidos pelo Vim

14

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?

Profpatsch
fonte

Respostas:

18

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 :echoing.

Ingo Karkat
fonte
Isso também retira arquivos ftplugin/after?
Profpatsch # 24/13
2
Você quer dizer after/ftplugin, e sim, porque esses estão contidos &rtp.
Ingo Karkat 24/10
Isso gera um erro de sintaxe no bash e no zsh.
mareoraft
3
@mareoraft: Tente isso dentro do Vim, não no shell!
Ingo Karkat