2013-04-27 1 views
1

나는 vim에서 내 파일을 다시 들여 오기 위해 gg=G을 사용합니다. 나는 jinja2 표현식과 html을 포함하는 jinja2 템플릿을 가지고있다. filetypejinja으로 설정됩니다. gg=G을 사용할 때, html은 reindented하지만 jinja 표현식은 올바르게 맞지 않습니다. 실제vim gg = G html 및 jinja2

:

{% for elem in list %} 
{% if elem.foo %} 
<div> 
    <p>foo</p> 
</div> 
{% else %} 
<div> 
    <p>bar</p> 
</div> 
{% endif %} 
{% endfor %} 

예상 :

{% for elem in list %} 
    {% if elem.foo %} 
     <div> 
      <p>foo</p> 
     </div> 
    {% else %} 
     <div> 
      <p>bar</p> 
     </div> 
    {% endif %} 
{% endfor %} 

가 어떻게이 동작을 변경할 수 있습니까?

친절히 알려주세요.

+0

Vim 7.3은'jinja' 파일 형식과 함께 제공되지 않습니다. 어떤 구문/들여 쓰기/ftplugin 스크립트를 설치 했습니까? –

+0

this : https://github.com/Glench/Vim-Jinja2-Syntax –

답변

1

Jinja 플러그인의 들여 쓰기 스크립트는 기본값 html 파일 유형의 들여 쓰기 메소드에 위임합니다 (here 참조).

불행히도 indent/html.vim은 사용자 정의 HTML 태그로 확장 할 수 있지만 <...> 태그 구문은 하드 코드되어 있으므로 Jinja의 {% ... %} 구문을 구성 할 수 없습니다. 진자에 대한 특별한 들여 쓰기 플러그인을 찾지 못했다면, 자신을 직접 작성/연장해야합니다. indent/html.vim.