파일 형식을 설정하기 위해 vim이 처리 할 파일에 주석을 넣는 방법이 있습니까?


30

예를 들어 vim 에서 이름이 gitconfig(선행 없음) 인 파일을 .로 인식하려면 filetype=gitconfig주석이나 파일 자체 내에서 이와 비슷한 것을 표시하는 수단이 있습니까? 참고, 이것은 시스템 전체에서 작동하기를 원하므로 vim의 시작 파일을 수정하는 것은 바람직하지 않습니다.

답변:


45

이것은 modeline기능 처럼 들립니다 (온라인 도움말 참조). gitconfig에서 파일의 시작 또는 끝 근처에 다음과 같은 모델을 가질 수 있습니다.

# vi: ft=gitconfig

이를 위해서는 모델을 활성화해야하며 보안 상 위험 할 수 있으므로 많은 시스템에서 기본적으로 비활성화되어 있습니다.

약간 더 많은 작업이 필요한 또 다른 방법은 .vim파일을 포함하는 것입니다.

au BufRead,BufNewFile */gitconfig setfiletype gitconfig

~/.vim/ftdetect모든 시스템에 넣습니다 .


완벽하고, 모델은 내가 찾던 것입니다. modeline이 활성화되었지만 내 설정에서 방해하는 것처럼 보입니다. 제안 된 줄을 파일 맨 위에 놓으면 다시 set filetype?열면 파일 유형 'conf'가 나타납니다.
Murali Suriar

어쩌면 당신은 값의 출처 :verbose set filetype를 알 수 있습니다 conf-어딘가에 vim의 시스템 기본 파일 유형 설정을 추측 할 것입니다.
jw013

분명히 /usr/share/vim/vim73/filetype.vim에서 마지막으로 설정되었습니다. 시스템 레벨 파일 유형 감지가 파일 자체에 배치 한 지시문을 대체하는 이유는 무엇입니까?
Murali Suriar

vim을 루트로 실행 했습니까? 그렇다면 모델이로드되지 않을 것이라고 생각합니다.
elias

modelines옵션 의 값도 확인하십시오 . :set modelines?0으로 설정하면 모델을 처리하지 않습니다.
Christian Long

1

구문 파일을 만들어 vim의 share/syntax디렉토리 에 넣을 수 있습니다 (데비안 레니 (Debian Lenny) 의 디렉토리 /usr/share/vim/vim71/syntax는 배포판이 다를 수 있음).

Vim의 구문 형식에 대한 설명서는 다음과 같습니다. http://vimdoc.sourceforge.net/htmldoc/syntax.html

인터넷 어딘가에서 준비된 구문 파일을 찾을 수 있지만 연습용으로 남겨 두겠습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.