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 exim4
y service:
escribo Vim reindents mi última service
lí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?
yaml
vale 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-yaml
complemento funcione a nivel mundial.autocmd FileType yaml,yml setlocal ...
Puede deshabilitar reindentrar cuando escribe la
:
clave:Edite el
~/.vimrc
archivo y agregue estas líneas:Nota:
autocmd
viene 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
augroup
que 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=yaml
lo haga, corregirá la sangría. Los ayudará a ambosV
para la selección en línea y luego usarj
ok
para seleccionar más líneas) y luego activar el formato vim con=
fuente