O Vim não parece reagir corretamente a um símbolo de traço em arquivos YAML, portanto, quebrando o formato.
Por exemplo, eu tenho um bloco que deve ser semelhante a este:
handlers:
- name: restart exim4
service: name=exim4 state=restarted
Quando termino de digitar restart exim4
e digito, o service:
Vim reindenta minha service
linha final :
handlers:
- name: restart exim4
service: name=exim4 state=restarted
Então, claramente o Vim tenta alinhar as frases em colunas, mas não é isso que é necessário no YAML. Eu quero criar uma matriz com dois valores.
Como consertar isso?
yaml
sintaxe regular também valha a pena corrigir# vim:ft=ansible:
todos os seus arquivos não ansíveis.A fim de obter o YAML de 2 espaços agradável como o padrão quando eu pressiono o retorno de carro após os dois pontos, adicionei isto ao meu
.vimrc
:Isso também funciona bem com o traço para o resultado esperado do OP.
fonte
/etc/vim/vimrc
(para configuração global) enquanto não consegui fazer ovim-ansible-yaml
plug-in funcionar globalmente.autocmd FileType yaml,yml setlocal ...
Você pode desativar o reindent ao digitar a
:
chave:Edite o
~/.vimrc
arquivo e adicione estas linhas:Nota:
autocmd
vem depoisfiletype
.Você pode acionar o recuo digitando CTRL-Fno modo INSERT , por exemplo:
fonte
Você pode usar este comando automático para fazer o Vim recuar arquivos YAML corretamente (coloque-os em seu
.vimrc
):Basicamente, para o arquivo YAML, ele instrui o Vim a:
#
) no início de uma linha ou dois pontos.fonte
Você pode adicionar um comentário em seu YAML para informar ao Vim a configuração especial para este arquivo. Por exemplo:
Então, todos que usam este arquivo com um vim padrão, podem compartilhar a configuração do criador do arquivo. Funciona bem, especialmente ao cooperar.
fonte
Aqui está o que
augroup
eu tenho para yaml:fonte
Descobri que https://github.com/stephpy/vim-yaml funciona muito bem. É um plugin vim que faz recuo (e realce de sintaxe) de arquivos yaml. Instalá-lo também resolve o problema específico sobre o qual você perguntou.
Você precisa instalar o plugin (veja o doco no repositório GitHub) e contanto que
filetype=yaml
ele corrigirá sua indentação. Isso vai ajudar vocês doisV
para seleção por linha, usej
ouk
para selecionar mais linhas) e acione a formatação vim com=
fonte