2011-02-04 15 views
19

En este momento estoy usando set autoindent cuando edito archivos Yaml en Vim, y funciona bien simplemente copiando la sangría de la línea anterior cuando comienzas una nueva línea. Sin embargo, no puedo evitar sentir que podría ser un poco más inteligente. Lo que sería grandioso si se inicia una nueva línea después de foo: "bar" podría mantener el mismo nivel de indentación, pero comenzar una línea después de foo: agregaría un nivel adicional de indentación.¿Cómo obtengo una excelente sangría automática con Vim y Yaml?

Respuesta

13

Xavier me inspiró a hackear esto un poco, y se me ocurrió my own little indent script for Yaml. No maneja ninguna de las características más avanzadas de Yaml, pero hace lo que originalmente pedí.

Para usar esto, puede simplemente colocarlo en ~/.vim/after/ftplugin/yaml.vim (suponiendo que está usando set ftplugin on).

3

reglas de sangría específicos se almacenan en una base de la lengua:
$VIMRUNTIME\indent\foo.vim para el lenguaje foo.

En mi instalación predeterminada, tengo ruby.vim, haml.vim y muchos otros, pero no yaml.vim.

Puede crear un indent\yaml.vim para obtener las reglas de indentación que desee. Intenté rápidamente buscar en línea si algo similar estaba disponible pero no encontré nada.

Cuestiones relacionadas