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?

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.