2010-04-08 4 views
28

예를 들어 PHP 파일에서 작업 할 때 기본 파일 유형은 php입니다. 이것은 의미가 있지만, PHP 파일에도 HTML이 있으면 filetype은 여전히 ​​PHP뿐입니다. 일부 플러그인의 경우 해당 플러그인에 대한 PHP 기능을 갖지만 HTML 기능을 놓친다는 의미입니다. 더 구체적인 상황은 내 스 니펫 플러그인 때문입니다. 내가 PHP 파일을 편집 할 때 PHP 코드 조각이 아니라 HTML 코드 조각을 얻습니다. (나는 분명히 좋아하지 않는, 따라서 내 게시물이 질문에) 이것에vim의 여러 파일 유형

가능한 해결책은 다음과 같습니다

  1. 내가 파일의 다른 부분을 편집하고 때 다른 파일 형식 사이를 전환 할 수지도를 추가 할 수 있습니다.
  2. 내 PHP 코드 단편도 html 코드 조각을 포함하도록 업데이트하십시오 (위 예제에서는 작동하지만 기본 문제는 해결되지 않습니다).

그래서 vim에서 동시에 여러 파일 유형을 사용하여 파일을 편집하는 방법이 있습니까?

편집 : 나중에 참조 할 특정 플러그인을 snipMate라고합니다. http://www.vim.org/scripts/script.php?script_id=2540

+0

(g)의 PHP 모드 VIM은 HTML, JavaScript ('ft = javascript'로 잘 수행되지는 않지만), CSS 및 PHP와 같은 네 가지 언어를 지원합니다. 그것은 각각의 경계를 탐지 할 것입니다. 플러그인은 웹 프로그래머를 염두에두고 작성되었습니다. – amphetamachine

+0

동일한 파일에서 다른 언어로 작업하는 파일에 대해 구문 강조 표시가 예상대로 작동하지만 다른 플러그인은 어떻게됩니까? 이미 vim과 함께 일해야한다는 말입니까? 어떻게 될지 모르겠다. – chadgh

+0

완전히 일반적인 방법은 없습니다. 문제의 플러그인은 PHP 구문 파일과 동일한 방식으로 다시 작성되어야합니다. 둘 다 vim 스크립트입니다. 구문 파일을보고 경계를 감지하는 방법을 확인한 다음 적용을 시도 할 수 있습니다. 플러그인의 모든 기능이 구문 강조로 너무 깔끔하게 구분되어 있지 않기 때문에 일반적으로 어려운 문제입니다. – Cascabel

답변

41

동시에 여러 개의 파일 형식을 사용하도록 지정할 수 있습니다. 예 :

:setfiletype html.php 

그러나 대부분의 파일 형식 플러그 및 구문 파일은 이러한 경우를 위해 설계되지 않았습니다. 참고 : help 'filetype'

+2

완벽한! 플러그인에 관해서는 주로 염려했다. ​​완벽하게 작동했다. PHP 파일 편집하기 : setfiletype html.php.js.css 그리고 스 니펫 플러그인은 지정된 모든 파일 유형에 대한 스 니펫 파일을 포함합니다. 감사합니다. – chadgh

+0

우수합니다. 나는 snipMate와 관련하여 똑같은 질문을했습니다 – devth

+0

프로그래밍에 대해서는 전혀 알지 못합니다. 고맙습니다! 그게 더 나아지기 위해서 요. – Prospero