มีวิธีการแสดงความคิดเห็นในไฟล์ที่กลุ่มจะดำเนินการเพื่อตั้ง filetype?


30

ตัวอย่างเช่นถ้าฉันต้องการให้ไฟล์ที่มีชื่อgitconfig(ไม่มีส่วนนำ.) ได้รับการยอมรับโดย vim ว่าเป็นของfiletype=gitconfigมีวิธีการระบุสิ่งนี้ในความคิดเห็นหรือสิ่งที่คล้ายกันภายในไฟล์ตัวเอง? หมายเหตุฉันต้องการให้มันทำงานข้ามระบบได้ดังนั้นจึงไม่แนะนำให้แก้ไขไฟล์เริ่มต้นของ vim

คำตอบ:


45

ดูเหมือนว่าmodelineคุณสมบัตินี้ (ดูวิธีใช้แบบออนไลน์) ใน gitconfig คุณสามารถมี modeline ดังต่อไปนี้ใกล้จุดเริ่มต้นหรือจุดสิ้นสุดของไฟล์:

# vi: ft=gitconfig

ต้องเปิดใช้งานโมเดลและเนื่องจากอาจเป็นอันตรายต่อความปลอดภัยจึงถูกปิดใช้งานโดยค่าเริ่มต้นในระบบหลายระบบ

อีกวิธีที่อาจใช้งานได้มากกว่านี้คือการสร้าง.vimไฟล์ที่มี

au BufRead,BufNewFile */gitconfig setfiletype gitconfig

และวางใน~/.vim/ftdetectทุกระบบของคุณ


สมบูรณ์แบบ modeline คือสิ่งที่ฉันกำลังมองหา เปิดใช้งาน modeline แล้ว แต่ดูเหมือนว่ามีสิ่งอื่นในการตั้งค่าของฉันรบกวน ถ้าฉันวางบรรทัดที่แนะนำของคุณไว้ที่ด้านบนของไฟล์หลังจากที่ฉันเปิดขึ้นมาอีกครั้งมันจะset filetype?เผยให้เห็นไฟล์ 'conf'
Murali Suriar

บางทีคุณสามารถใช้:verbose set filetypeเพื่อดูว่าconfค่ามาจากไหน - ฉันจะเดาการตั้งค่าประเภทไฟล์เริ่มต้นของระบบที่บางแห่ง
jw013

เห็นได้ชัดว่ามันเป็นชุดสุดท้ายจาก / usr/share/vim/vim73/filetype.vim ทำไมการตรวจจับประเภทไฟล์ระดับระบบจะแทนที่คำสั่งที่ฉันวางไว้ในไฟล์เอง?
Murali Suriar

คุณเรียกใช้เป็นกลุ่มแล้วหรือยัง? ถ้าใช่ฉันคิดว่าตัวแบบจะไม่โหลด
elias

ตรวจสอบค่าของmodelinesตัวเลือกด้วย :set modelines?หากตั้งค่าเป็นศูนย์จะไม่ประมวลผล modeline
Christian Long

1

คุณสามารถสร้างไฟล์ไวยากรณ์และวางไว้ในshare/syntaxไดเรกทอรีของกลุ่ม(บน Debian Lenny มัน/usr/share/vim/vim71/syntax(distro ของคุณอาจแตกต่างกัน))

เอกสารเกี่ยวกับรูปแบบไวยากรณ์ของ Vim อยู่ที่นี่: http://vimdoc.sourceforge.net/htmldoc/syntax.html

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

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