Elenca tutti i plugin di tipi di file conosciuti da Vim


14

Voglio elencare tutti i tipi di file che Vim riconosce dal suo runtimepath.

Per esempio:

ada
arc
c
clojure
common-lisp
elisp
go
python

Come posso farlo?

Risposte:


18

Se hai bisogno di quelli per un comando personalizzato che accetta argomenti di tipo di file, puoi semplicemente usare :command -complete=filetype. Altrimenti, puoi derivare l'elenco tramite la globpath()funzione tu stesso:

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

Questo ottiene tutti gli script ftplugin dal runtimepath e quindi modifica il filespec fnamemodify()per elencare solo la radice del nome file. split()converte in un elenco e join()torna a righe per :echoing.


Anche questo richiede file ftplugin/after?
Profpatsch,

2
Intendi after/ftplugin, e sì, perché quelli sono contenuti in &rtp.
Ingo Karkat,

Questo dà un errore di sintassi sia su bash che su zsh.
mareoraft,

3
@mareoraft: prova questo all'interno di Vim, non nella shell!
Ingo Karkat,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.