Vim no parece reaccionar correctamente ante un símbolo de guión en los archivos YAML, por lo tanto, rompe el formato.
Por ejemplo, tengo un bloque que debería verse así:
handlers:
- name: restart exim4
service: name=exim4 state=restarted
Cuando termino de escribir restart exim4y service:escribo Vim reindents mi última servicelínea:
handlers:
- name: restart exim4
service: name=exim4 state=restarted
Entonces, claramente, Vim intenta alinear las oraciones en columnas, pero eso no es lo que se necesita en YAML. Quiero crear una matriz con dos valores.
¿Cómo arreglar eso?

yamlvale la pena corregir la sintaxis regular# vim:ft=ansible:todos sus archivos no ansible.Para obtener el YAML agradable de 2 espacios como predeterminado cuando presiono el retorno de carro después de los dos puntos, agregué esto a mi
.vimrc:Esto también juega bien con el guión para el resultado esperado del OP.
fuente
/etc/vim/vimrc(para configuración global) mientras que no pude hacer que elvim-ansible-yamlcomplemento funcione a nivel mundial.autocmd FileType yaml,yml setlocal ...Puede deshabilitar reindentrar cuando escribe la
:clave:Edite el
~/.vimrcarchivo y agregue estas líneas:Nota:
autocmdviene despuésfiletype.Puede activar la reintroducción escribiendo CTRL-Fen el modo INSERT , por ejemplo:
fuente
Puede usar este autocomando para hacer que Vim sangra correctamente los archivos YAML (póngalo en su
.vimrc):Básicamente, para el archivo YAML, le indica a Vim que:
#) al principio de una línea, o dos puntos.fuente
Puede agregar un comentario en su YAML para indicarle a Vim una configuración especial para este archivo. Por ejemplo:
Entonces, todos los que usen este archivo con un vim predeterminado, pueden compartir la configuración del creador del archivo. Funciona bien especialmente cuando se coopera.
fuente
Aquí está el
augroupque tengo para yaml:fuente
Descubrí que https://github.com/stephpy/vim-yaml funciona muy bien. Es un complemento vim que hace sangría (y resaltado de sintaxis) de archivos yaml. La instalación también resuelve el problema específico sobre el que ha preguntado.
Debe instalar el complemento (consulte el documento en el repositorio de GitHub) y, siempre que
filetype=yamllo haga, corregirá la sangría. Los ayudará a ambosVpara la selección en línea y luego usarjokpara seleccionar más líneas) y luego activar el formato vim con=fuente