주어진 파일 유형에 대한 영구 : 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을보고 빔 내부 (또한 단지, 별도의 이벤트와 시도 BufNewFileBufRead). 또한 :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 htmlset 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.