어떤 구문 파일이 사용되고 있는지 어떻게 알 수 있습니까?


50

Vim은 내 파일을 재미있는 방식으로 강조 표시하는 구문이며,이 동작을 수행하는 구문 파일을 알고 싶습니다. vim이 어떤 구문 파일을로드했는지 어떻게 알 수 있습니까?

답변:


39

Vim이 실제로로드 한 파일을 확인하려면 다음을 실행하십시오.

:scriptnames

유용합니다. 이제 확실하지 않은 부분이 있습니다. 구문 파일이이 목록에 표시되면 구문 파일이 "활성"상태입니까? 여기에 몇 가지 구문 파일이 있습니다.
Edward Z. Yang

7
일반적으로 마지막에 나열된 것만 "활성"이며 구문 강조 표시를 해제 한 경우에도 해당되지 않을 수 있습니다. 현재 유효한 구문을 보려면을 실행하십시오 :echo b:current_syntax. 현재 유효한 구문 항목을 보려면 Ingo가 제안한대로 수행하고 실행하십시오 :syntax list. Ingo가 지적한 것처럼 후자는 둘 이상의 구문 파일의 구문 항목이 적용되는 경우 도움이 될 수 있습니다.
garyjohn

1
Mac OS XI에서 /usr/share/vim/vim73/filetype.vim. 위의 명령을 사용한 후 MacVim의 버전을 사용하고 있음을 깨달았습니다 ~/Applications/MacVim.app/Contents/Resources/vim/runtime/filetype.vim. MacVim이 설치되어 있다면 올바른 파일을 수정하십시오.
echamber

1
동일한 이름을 가진 두 개의 구문 파일이로드되었을 수 있습니다. 예를 들어, vim은 ColdFusion에 대한 구문 강조 표시 ( /usr/share/vim/vim81/syntax/cf.vim나를 위해) 와 함께 제공됩니다 . 표준 날짜가 지정되어 있으므로 사용자 정의 cf.vim을 설치했습니다. :scriptnames두 파일을 모두 보여줍니다. 기본값은 스크립트 목록에서 낮습니다. 그러나 전자가 사용되고 있습니다. 를 보면 /usr/share/vim/vim81/syntax/cf.vim가드가 if exists("b:current_syntax") finish endif있습니다. 그래서 제 경우에는 scriptnames도움이되었지만 조금 더 깊이 파고 들었습니다.
avejidah 2016 년

31

현재 버퍼의 구문은 다음을 통해 쿼리 할 수 ​​있습니다.

:setlocal syntax?

일반적으로 버퍼 파일 형식 ( :setlocal filetype?)에 해당하지만 반드시 그런 것은 아닙니다 .

더 깊게 보려면

:syntax list

쇼의 모든 구문 정의 (일부 구문 (캔)는 다른 언어의 예를 들어 구문 포함 javahtmlJavaDoc의 주석 마크 업을).


이것이 OP의 질문 제목을 바탕으로 내가 찾은 것입니다. 물론 OP는 실제 구문 파일을 찾고있는 설명에서 명확하지만 검색 엔진의 첫 번째 답변 중 하나이므로 여기에 남겨 두셔서 감사합니다.
verboze

4

현재 어떤 파일 형식을 사용하고 있는지 확인할 수 있습니다

:verbose set ft ?

파일 형식을 처리하는 플러그인은 대부분 다음 위치에 있습니다.

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