.md 파일에서 구문 강조 표시가 없습니까?


15

Vim은 .markdown파일을 올바르게 강조 표시 하지만 .md파일 형식에 익숙하지 않은 것 같습니다 . 질문에에 의견 /programming/10964681는 그 암시하는 것 같다 .md인하 파일에 사용할 잘못된 파일 확장자입니다. 조금 혼란 스러워요.

.md잘못된 확장은? 그렇지 않다면 왜 Vim이 구문을 강조하지 않습니까?

Vim 버전 : 7.4


.md7.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.mdModula 2 소스 코드보다 Markdown 파일 을 의미 하는 것이 훨씬 더 가능성이 높으면 Vim의 기본값을 무시하십시오.

au BufNewFile,BufRead *.md  setf markdown

에서 ~/.vim/ftdetect/markdown.vim의 설명 또는 :help new-filetype.


9

그만큼

autocmd BufRead,BufNew *.md setf markdown

vim 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
버퍼의 각 항목에서 파일 유형을 재설정하는 이유는 무엇입니까? ftdetect 이벤트의 표준 세트는이며 여기서도 BufNewFile,BufRead충분합니다.
Ingo Karkat

1

.markdown으로 파일을 끝내십시오. 길이는 길지만 그 방법은 저에게 속합니다.


그래, 그게 효과가있어 그러나 .md파일이 마크 다운 파일 인 경우 Vim이 제대로 재생되도록하려고합니다. GitHub README의 용도 .md도 있습니다.
krystah

실제로 .markdownGitHub와 함께 사용할 수도 있습니다. 어쨌든, 하나를 사용 .md하거나 .markdown때문에 다른 사람들이 덜 광범위하게 지원하고 있습니다.
nyuszika7 시간
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.