รายการปลั๊กอินชนิดไฟล์ทั้งหมดที่ Vim รู้จัก


14

ฉันต้องการแสดงรายการประเภทไฟล์ทั้งหมดที่ Vim รู้จักจาก runtimepath

ตัวอย่างเช่น:

ada
arc
c
clojure
common-lisp
elisp
go
python

ฉันจะทำมันได้อย่างไร

คำตอบ:


18

หากคุณต้องการเหล่านั้นสำหรับคำสั่งที่กำหนดเองที่ใช้อาร์กิวเมนต์ filetype :command -complete=filetypeคุณก็สามารถใช้ มิฉะนั้นคุณสามารถรับรายการผ่านglobpath()ฟังก์ชั่นของตัวเอง:

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

สิ่งนี้ได้รับสคริปต์ ftplugin ทั้งหมดจาก runtimepath แล้วแก้ไข filespec ผ่านfnamemodify()เพื่อแสดงรายการเฉพาะรากของชื่อไฟล์ split()แปลงเป็นรายการและjoin()กลับไปที่สายสำหรับ:echoไอเอ็นจี


สิ่งนี้นำไฟล์มาftplugin/afterด้วยหรือไม่
Profpatsch

2
คุณหมายถึงและใช่เพราะผู้ที่มีอยู่ในafter/ftplugin &rtp
Ingo Karkat

สิ่งนี้ให้ข้อผิดพลาดทางไวยากรณ์ทั้ง bash และ zsh
mareoraft

3
@mareoraft: ลองใช้ Vim ข้างนอกไม่ใช่ในเชลล์!
Ingo Karkat
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.