주어진 파일 유형에 대한 영구 : set 구문?


103

Twig를 사용하는 Symfony2 프로젝트에서 작업 중이며 파일 형식은 myfile.html.twig. Vim은 구문 강조를 자동으로 감지하지 않으므로 아무것도 적용하지 않습니다. :set syntax=HTML파일을 연 후에 사용할 수 있지만 파일 사이를 이동할 때 고통 스럽습니다.

vim에서 특정 파일 유형에 대해 구문 강조를 지속적으로 설정하는 방법이 있습니까?

답변:


114

autocmd이를 수행하는 데 사용할 수 있습니다 .

augroup twig_ft
  au!
  autocmd BufNewFile,BufRead *.html.twig   set syntax=html
augroup END

작동해야합니다.


4
친구가 나에게도 이것을 지적했습니다. 파일 유형 설정 : au BufRead,BufNewFile *.html.twig set filetype=twig설정을 구문을 :au BufRead,BufNewFile *.html.twig set syntax=HTML
— Bendihossan

27
이 줄을 ~/.vim/ftdetect/html.twig.vim파일 (생성해야 함) 에 넣는 것이 좋습니다.이 파일은 이러한 자동 명령을위한 올바른 위치입니다.
— xaizek

@xaizek 나는 이것이 권장된다는 것을 이해하지만 ~/.vimrc대신에 넣으면 왜 작동하지 않는지 ~/.vim/ftdetect/아십니까?
— Haralan Dobrev

2
@HaralanDobrev, 아마도이 줄 뒤에 정의 된 다른 자동 명령에 의해 덮어 쓰여질 것입니다. 실행 :autocmd BufNewFile,BufRead *.html.twig등록 된 모든 autocommands을보고 빔 내부 (또한 단지, 별도의 이벤트와 시도 BufNewFile만 BufRead). 또한 :verbose set syntax?.
— xaizek

1
그것은이 솔루션은 나를 정력 위키가 존재하지 않는다고 할 수 있습니다 발견하는 것이 얼마나 쉬운
— 자레드 비치

59

에 다음 구절 중 하나를 추가하십시오 .vimrc.

" Set the filetype based on the file's extension, overriding any
" 'filetype' that has already been set
au BufRead,BufNewFile *.html.twig set filetype=html

또는

" Set the filetype based on the file's extension, but only if
" 'filetype' has not already been set
au BufRead,BufNewFile *.html.twig setfiletype html

6
이것은 허용되는 것보다 더 일반적인 대답입니다. vim이 파일 유형을 감지 할 수없는 경우 (그리고 자동으로 구문 강조 표시를 제공) 파일의 구문보다는 파일 유형을 설정하는 것이 좋습니다.
— mrfred

1
setfiletype해야 set filetype적어도 그게이 일을 내가 만들 수있는 방법
— dau_sama

1
@dau_sama setfiletype=html는 유효한 구문이 아닙니다. 나는 답을 고쳤다. 참고setfiletype html 및 set filetype=html이 질문에 대해 언급 한 바와 같이, 다른 일을.
— bdesham

10
au BufNewFile,BufRead,BufReadPost *.twig set syntax=HTML

이 줄을 ~/.vimrc에 추가 하면 설정이 영구적으로 유지됩니다.


2

나는 이것이 질문에 직접 대답하지 않는다는 것을 알고 있지만 이것은 Twig / Symfony 2와 함께 작동하는 구문 강조를 얻는 것입니다.

https://github.com/beyondwords/vim-twig (내가 아님) 를 확인하는 것이 좋습니다 .

  • * .html.twig에 대한 구문 강조 파일,
  • 동일한 파일 유형 감지 및
  • * .html.twig 파일을 편집 할 때 필요에 따라 다양한 설정을 수정할 수있는 파일 유형 플러그인

이게 도움이 되길 바란다

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