ฉันจะบอกได้อย่างไรว่ามีการใช้ไฟล์ไวยากรณ์ใด


50

เป็นกลุ่มไวยากรณ์เน้นไฟล์ของฉันในวิธีที่ตลกและฉันต้องการที่จะรู้ว่าไฟล์ไวยากรณ์ใดรับผิดชอบต่อพฤติกรรมนี้ ฉันจะค้นหาไฟล์ไวยากรณ์ที่ vim โหลดได้อย่างไร

คำตอบ:


39

หากต้องการค้นหาไฟล์ที่ Vim โหลดจริงให้เรียกใช้งาน

:scriptnames

นั่นมีประโยชน์ ตอนนี้นี่คือสิ่งที่ฉันไม่แน่ใจเกี่ยวกับ: หากไฟล์ไวยากรณ์ปรากฏขึ้นในรายการนี้จะรับประกันได้หรือไม่ว่าไฟล์ไวยากรณ์เป็น "ใช้งาน" ฉันสามารถดูไฟล์ไวยากรณ์ได้ไม่กี่ที่นี่
Edward Z. Yang

7
โดยทั่วไปจะมีเพียงรายการสุดท้ายเท่านั้นที่ "แอ็คทีฟ" และแม้ว่ามันจะไม่ได้เกิดขึ้นหากคุณได้ปิดการเน้นไวยากรณ์ :echo b:current_syntaxหากต้องการดูไวยากรณ์ในปัจจุบันมีผลการดำเนินการ หากต้องการดูรายการไวยากรณ์ในปัจจุบันมีผลทำตาม Ingo :syntax listปัญหาและดำเนินการ หลังอาจช่วยถ้ารายการไวยากรณ์จากไฟล์ไวยากรณ์มากกว่าหนึ่งไฟล์มีผลตามที่ระบุไว้ Ingo
garyjohn

1
บน Mac OS XI /usr/share/vim/vim73/filetype.vimปรับเปลี่ยน หลังจากใช้คำสั่งดังกล่าวฉันรู้ว่ามันถูกใช้รุ่น MacVim ~/Applications/MacVim.app/Contents/Resources/vim/runtime/filetype.vimที่ หากคุณติดตั้ง MacVim ตรวจสอบให้แน่ใจว่าคุณแก้ไขไฟล์ที่ถูกต้อง
echamber

1
คุณอาจโหลดไฟล์ไวยากรณ์สองไฟล์ที่มีชื่อเหมือนกัน ตัวอย่างเช่น, vim มาพร้อมกับการเน้นไวยากรณ์สำหรับ ColdFusion, ( /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มีประโยชน์ แต่ฉันต้องขุดลึกลงไปอีกนิด
avejidah

31

ไวยากรณ์สำหรับบัฟเฟอร์ปัจจุบันสามารถสอบถามผ่าน

:setlocal syntax?

โดยปกติแล้ว (แต่ไม่จำเป็น) จะสอดคล้องกับ filetype ของบัฟเฟอร์ ( :setlocal filetype?)

เพื่อให้มองลึก

:syntax list

แสดงนิยามไวยากรณ์ทั้งหมด (บางไวยากรณ์ (สามารถ) รวมถึงไวยากรณ์ของภาษาอื่นเช่นjavaมีhtmlสำหรับมาร์กอัพข้อคิดเห็น JavaDoc)


นี่คือสิ่งที่ฉันมาหาตามชื่อคำถามของ OP OP แน่นอนอธิบายในคำอธิบายที่เขากำลังมองหาไฟล์ไวยากรณ์ที่แท้จริง แต่ฉันขอขอบคุณที่คุณออกจากที่นี่เพราะมันเป็นหนึ่งในคำตอบแรกในเครื่องมือค้นหา
verboze

4

คุณสามารถดูประเภทไฟล์ที่ใช้และโดยในปัจจุบัน

:verbose set ft ?

ปลั๊กอินที่ใช้จัดการประเภทไฟล์นั้นมักอยู่ที่

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