ไม่มีการเน้นไวยากรณ์ในไฟล์. md หรือไม่


15

Vim ไฮไลต์.markdownไฟล์อย่างถูกต้องแต่ดูเหมือนไม่คุ้นเคยกับประเภท.mdไฟล์ ความคิดเห็นที่คำถาม/programming/10964681ดูเหมือนว่าบ่งบอกว่า.mdเป็นนามสกุลไฟล์ผิดที่จะใช้สำหรับไฟล์ markdown ฉันสับสนเล็กน้อย

คือ.mdนามสกุลผิดหรือเปล่า? ถ้าไม่ทำไม Vim ไม่เน้นไวยากรณ์ของมัน?

รุ่นที่เป็นกลุ่ม: 7.4


ฉันมีการเน้นไวยากรณ์ในการ.mdใช้ 7.3 อาจเป็นการตัดสินใจกำหนดค่า นี่คือ GNU / Linux Debian Wheezy
174140

1
" .mdส่วนขยายผิดหรือไม่" ผู้สร้าง Markdown แสดงความคิดเห็นในหัวข้อนี้เมื่อเร็ว ๆ นี้
Mike Seplowitz

คำตอบ:


12

การวิเคราะห์

ใน$VIMRUNTIME/filetype.vimนี้คุณจะพบสิ่งนี้:

" Markdown
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,README.md  setf markdown

ดังนั้นREADME.mdตรวจพบเพียงว่าเป็นมาร์คดาวน์ เหตุผลหนึ่งสามารถพบได้ในไฟล์เดียวกันเมื่อค้นหา*.md

" Modula 2
au BufNewFile,BufRead *.m2,*.DEF,*.MOD,*.md,*.mi setf modula2

คำอธิบาย

ไม่เหมือนกับประเภท MIME (ที่มีรีจิสตรี) ส่วนขยายไฟล์ไม่ได้มาตรฐานและ (โดยเฉพาะอย่างยิ่งสำหรับไฟล์สั้น) ความหมายที่เป็นไปได้หลายแบบซ้อนทับกัน ขึ้นอยู่กับคุณที่จะตัดสินใจว่าคุณต้องการจัดการอย่างไร หากเป็นไปได้มากกว่านั้นfoo.mdหมายถึงไฟล์ Markdown มากกว่าซอร์สโค้ด Modula 2 เพียงแทนที่ค่าเริ่มต้นของ Vim เช่นผ่าน

au BufNewFile,BufRead *.md  setf markdown

ในหรือที่อธิบายไว้ใน~/.vim/ftdetect/markdown.vim:help new-filetype


9

autocmd BufRead,BufNew *.md setf markdown

ไม่ทำงานสำหรับฉันในกลุ่ม 7.4 ดังนั้นฉันจึงต้องใช้วิธีดั้งเดิม 'เก่า' ในการตั้งค่าประเภทไฟล์:

autocmd BufRead,BufNew *.md set filetype=markdown

และสิ่งนี้จะเน้น*.mdไฟล์อย่างถูกต้อง


3
นี่คือสิ่งที่คุณต้องการ คำตอบยอดนิยมไม่ทำงาน
Michael Fox

8

เพิ่มบรรทัดเหล่านี้ใน~/.vimrc:

augroup markdown

    " remove previous autocmds
    autocmd!

    " set every new or read *.md buffer to use the markdown filetype 
    autocmd BufRead,BufNew *.md setf markdown

augroup END

1
เหตุใดจึงต้องตั้งค่าประเภทไฟล์ในแต่ละรายการของบัฟเฟอร์ ชุด canonical ของเหตุการณ์ ftdetect คือBufNewFile,BufReadและควรเพียงพอที่นี่เช่นกัน
Ingo Karkat

1

ลองปิดไฟล์ด้วย. markdown - มันอาจจะยาว แต่นั่นก็เป็นเคล็ดลับสำหรับฉัน


ใช่นั่นคือสิ่งที่ได้ผล อย่างไรก็ตามหาก.mdไฟล์เป็นไฟล์มาร์กอัปฉันตั้งใจที่จะทำให้ Vim เล่นอย่างเหมาะสมกับพวกเขา! การใช้ของ GitHub README .mdเช่นกัน
krystah

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