Mở tệp .md dưới dạng Markdown


19

Vim, theo mặc định, mở tất cả các tệp .md dưới dạng mã "modula2". Tôi chưa bao giờ nghe nói về modula2, tôi cũng không có kế hoạch sử dụng nó.

Làm thế nào tôi có thể nói với vim luôn luôn coi foo.mdMarkdown (như thể tôi đã gõ :set ft=markdown)?


Trường hợp này phân phối là gì? Tôi hiện đang chạy Archlinux và .mdđang được xem là đánh dấu
Neikos

@Neikos Đây là trên Ubuntu 14.04.
Doorknob 4/2/2015

trên fedora cũng vậy, tôi nhận được chính xác cú pháp đánh dấu trên các tệp .md
guido

2
Điều này đã được trả lời trên SO. Bạn có thể tìm thấy nhiều thông tin khác nhau ở đó.
bsmith89

3
FYI, kể từ Vim 7.4.480, *.mdcác tệp được nhận dạng là Markdown thay vì modula2 theo mặc định.
fwalch

Câu trả lời:


10

Trong tệp filetype.vimđược phân phối cùng với bản phân phối của bạn, bạn sẽ tìm thấy một dòng có vẻ giống với dòng này (trên máy của tôi, nó tồn tại /usr/share/vim/vim74):

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

Bây giờ, điều này nói với vim để đặt filetype là modula2 nếu tệp của bạn có kết thúc như vậy.

Để ghi đè hành vi này, bạn có thể đặt một dòng như thế này theo cách riêng của bạn .vimrc(Lấy từ Archlinux filetype.vim):

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

Chỉnh sửa:

Trước đây tôi có setfchức năng được gọi, nhưng dường như đó là chức năng dành riêng cho filetype.vimtệp.


14

Tôi hiện có dòng này là một hack xấu xí trong .vimrc của tôi:

autocmd BufRead *.md set ft=markdown

Tôi vẫn đang tự hỏi nếu có một cách tốt hơn, mặc dù.


1
điều này không hoạt động trong fedora, có vẻ như các định nghĩa /usr/share/vim/vim74/filetype.vim sẽ ghi đè cài đặt này
guido 4/2/2015

@guido, tôi tự hỏi nếu điều đó phụ thuộc vào khi bạn kích hoạt phát hiện filetype? Nếu bạn thêm rằng autocmdsau filetype on(có hoặc không có plugin/ indentcờ), tôi sẽ đoán kết quả sẽ tốt hơn. Không thử nghiệm, chỉ là đầu cơ.
tommcdo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.