Daftar semua plugin tipe file yang diketahui Vim


14

Saya ingin daftar semua jenis file yang diakui Vim dari runtimepath-nya.

Sebagai contoh:

ada
arc
c
clojure
common-lisp
elisp
go
python

Bagaimana saya bisa melakukannya?

Jawaban:


18

Jika Anda membutuhkannya untuk perintah khusus yang menggunakan argumen tipe file, Anda bisa menggunakannya :command -complete=filetype. Selain itu, Anda dapat memperoleh daftar melalui globpath()fungsi sendiri:

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

Ini mendapatkan semua skrip ftplugin dari runtimepath, dan kemudian memodifikasi filepec fnamemodify()hanya untuk mencantumkan root dari nama file. split()dikonversi menjadi Daftar, dan join()kembali ke baris untuk :echoing.


Apakah ini mengambil file ftplugin/afterjuga?
Profpatsch

2
Maksud Anda after/ftplugin, dan ya, karena itu terkandung di dalamnya &rtp.
Ingo Karkat

Ini memberikan kesalahan sintaks pada bash dan zsh.
mareoraft

3
@mareoraft: Coba ini di dalam Vim, bukan di shell!
Ingo Karkat
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.