2011-12-01 17 views
6

Quiero agregar a la forma en html se sangra en vim. Estoy haciendo el desarrollo de django y me gustaría hacer sangrías siempre que se use una etiqueta de plantilla django. Actualmente, al usar la sangría de tipo de archivo, no sangra después de las etiquetas de la plantilla. Así actualmente mi código es el siguiente:Cambiar el formato de sangrado de vim

{% do_something %} 
<div> 
    <p>Hello</p> 
</div> 
{% end %} 

Y me gustaría que se reconozca el {%}% como una etiqueta y guión de esta manera:

{% do_something %} 
    <div> 
    <p>Hello</p> 
    </div> 
{% end %} 

¿Hay un plugin para el tipo de archivo esto o una forma en que puedo agregar {%%} a la lista de cosas que se deben sangrar después?

Respuesta

1

Cuando tenga filetype indent on para un archivo html utilizará las reglas de sangrado que se encuentran en el subdirectorio ../vim/vim73/indent en el archivo html.vim.

Las llaves que desea utilizar como sangrado de señalización de la siguiente línea están, estoy seguro, no tratadas en html.vim porque no son parte de html. Puedes modificar las reglas en html.vim para que se realice de la manera que quieras.

Consulte :h indent-expr para obtener un poco de información y también querrá ver otros archivos en el directorio/indent para ver cómo funciona.

No es un suplente html.vim se puede obtener en el sitio web vim, tal vez es mejor que html.vim que se incluye con Vim: http://www.vim.org/scripts/script.php?script_id=2075

+0

Ver también: http://stackoverflow.com/questions/4829244/how-do-i-define-indents-in-vim-based-on-curly-braces – user606723

+0

Ambos plugins html esperan nombres de etiquetas específicos para determinar el guion Siendo que las etiquetas django pueden ser infinitas e impredecibles ya que puedes escribir las tuyas, no estoy seguro de cómo aprovechar estos complementos para hacer esto ... Además de eso, las etiquetas que tienen un cuerpo siempre tienen un {% endwhatever %} etiqueta de cierre. Esperaba que esto fuera una solución rápida, pero en cambio parece que tomaría mucho esfuerzo ya que no estoy muy familiarizado con todo para empezar ... ¡Pero gracias por dirigirme en la dirección correcta! – intargc

0

Hay una pendiente de pull request para el proyecto django.vim para incluir una alternativa django-custom implementación vim de Steve Losh. Esto funciona, en su mayor parte, mejor que el predeterminado.

Cuestiones relacionadas