เป็นกลุ่มไวยากรณ์เน้นไฟล์ของฉันในวิธีที่ตลกและฉันต้องการที่จะรู้ว่าไฟล์ไวยากรณ์ใดรับผิดชอบต่อพฤติกรรมนี้ ฉันจะค้นหาไฟล์ไวยากรณ์ที่ vim โหลดได้อย่างไร
เป็นกลุ่มไวยากรณ์เน้นไฟล์ของฉันในวิธีที่ตลกและฉันต้องการที่จะรู้ว่าไฟล์ไวยากรณ์ใดรับผิดชอบต่อพฤติกรรมนี้ ฉันจะค้นหาไฟล์ไวยากรณ์ที่ vim โหลดได้อย่างไร
คำตอบ:
หากต้องการค้นหาไฟล์ที่ Vim โหลดจริงให้เรียกใช้งาน
:scriptnames
:echo b:current_syntax
หากต้องการดูไวยากรณ์ในปัจจุบันมีผลการดำเนินการ หากต้องการดูรายการไวยากรณ์ในปัจจุบันมีผลทำตาม Ingo :syntax list
ปัญหาและดำเนินการ หลังอาจช่วยถ้ารายการไวยากรณ์จากไฟล์ไวยากรณ์มากกว่าหนึ่งไฟล์มีผลตามที่ระบุไว้ Ingo
/usr/share/vim/vim73/filetype.vim
ปรับเปลี่ยน หลังจากใช้คำสั่งดังกล่าวฉันรู้ว่ามันถูกใช้รุ่น MacVim ~/Applications/MacVim.app/Contents/Resources/vim/runtime/filetype.vim
ที่ หากคุณติดตั้ง MacVim ตรวจสอบให้แน่ใจว่าคุณแก้ไขไฟล์ที่ถูกต้อง
/usr/share/vim/vim81/syntax/cf.vim
สำหรับฉัน) ฉันติดตั้ง cf.vim ที่กำหนดเองเพราะมาตรฐานเป็นวันที่ :scriptnames
แสดงไฟล์ทั้งสอง ค่าเริ่มต้นต่ำกว่าในรายการสคริปต์ แม้กระนั้นอดีตกำลังถูกใช้ ถ้าคุณดูที่มียาม/usr/share/vim/vim81/syntax/cf.vim
if exists("b:current_syntax") finish endif
ดังนั้นในกรณีของฉันscriptnames
มีประโยชน์ แต่ฉันต้องขุดลึกลงไปอีกนิด
ไวยากรณ์สำหรับบัฟเฟอร์ปัจจุบันสามารถสอบถามผ่าน
:setlocal syntax?
โดยปกติแล้ว (แต่ไม่จำเป็น) จะสอดคล้องกับ filetype ของบัฟเฟอร์ ( :setlocal filetype?
)
เพื่อให้มองลึก
:syntax list
แสดงนิยามไวยากรณ์ทั้งหมด (บางไวยากรณ์ (สามารถ) รวมถึงไวยากรณ์ของภาษาอื่นเช่นjava
มีhtml
สำหรับมาร์กอัพข้อคิดเห็น JavaDoc)
คุณสามารถดูประเภทไฟล์ที่ใช้และโดยในปัจจุบัน
:verbose set ft ?
ปลั๊กอินที่ใช้จัดการประเภทไฟล์นั้นมักอยู่ที่
:e $VIMRUNTIME\ftplugin