เปิดไฟล์. md เป็น Markdown


19

โดยค่าเริ่มต้นจะเปิดไฟล์. md ทั้งหมดเป็นรหัส "modula2" ฉันไม่เคยได้ยิน modula2 และฉันไม่ได้วางแผนที่จะใช้

ฉันจะบอกให้กลุ่มปฏิบัติfoo.mdเช่นเดียวกับ Markdown (เช่นถ้าฉันพิมพ์:set ft=markdown) ได้อย่างไร?


ในกรณีนี้การกระจายคืออะไร? ขณะนี้ฉันกำลังใช้งาน Archlinux และ.mdถูกมองว่าเป็น markdown
Neikos

@Neikos นี่คือบน Ubuntu 14.04
Doorknob

บนฟางเช่นเดียวกับผมอย่างถูกต้องได้รับไวยากรณ์ markdown ไฟล์ .md
กุย

2
สิ่งนี้ได้รับคำตอบแล้วใน SO คุณอาจพบข้อมูลเพิ่มเติมและแตกต่างที่นั่น
bsmith89

3
ไฟล์ FYI, ในฐานะ 7.4.480, *.mdไฟล์จะถูกจดจำเป็น Markdown แทน modula2 โดยค่าเริ่มต้น
fwalch

คำตอบ:


10

ในไฟล์filetype.vimที่มาพร้อมกับการแจกจ่ายของคุณคุณจะพบบรรทัดที่มีลักษณะคล้ายกับนี้ (ในเครื่องของฉันใช้งานได้/usr/share/vim/vim74):

au BufNewFile,BufRead *.md,*.m2,*.mi setf modula2

ตอนนี้สิ่งนี้จะบอกให้ vim ตั้ง filetype เป็น modula2 ถ้าไฟล์ของคุณมีตอนจบ

ในการลบล้างพฤติกรรมนี้คุณสามารถวางบรรทัดลักษณะนี้ไว้ในตัวคุณเอง.vimrc(นำมาจาก Archlinux filetype.vim):

au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md  set ft=markdown

แก้ไข:

ก่อนหน้านี้ฉันเคยsetfเป็นฟังก์ชั่นที่จะเรียกใช้ แต่ดูเหมือนว่าจะเป็นฟังก์ชั่นที่สงวนไว้สำหรับfiletype.vimไฟล์


14

ขณะนี้ฉันมีบรรทัดนี้เป็นแฮ็คที่น่าเกลียดใน. vimrc ของฉัน:

autocmd BufRead *.md set ft=markdown

ฉันยังคงสงสัยว่ามีวิธีที่ดีกว่านี้ไหม


1
สิ่งนี้ไม่ทำงานใน fedora ดูเหมือนว่าคำนิยาม /usr/share/vim/vim74/filetype.vim จะแทนที่การตั้งค่านี้
guido

@guido ฉันสงสัยว่าขึ้นอยู่กับว่าคุณเปิดใช้งานการตรวจจับประเภทไฟล์หรือไม่? หากคุณเพิ่มautocmdหลังจากนั้นfiletype on(ไม่ว่าจะมีหรือไม่มีแฟล็กplugin/ indent) ฉันจะเดาว่าผลลัพธ์จะดีกว่า ไม่ได้ทดสอบเพียงแค่การเก็งกำไร
tommcdo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.