Seu comando ( call HtmlBeautify()
) precisa ser acionado antes de salvar. :help autocmd-events
lista todos os disponíveis; BufWritePre
é o que você quer. O {cmd}
para :autocmd
é um comando Ex , então você pode soltar o :
(que muda de modo normal para modo de linha de comando ), e tem que largar o <CR>
(isto é apenas para mapeamentos):
autocmd BufWritePre <buffer> call HtmlBeautify()
Agora, você deseja que o disparador seja instalado para cada arquivo HTML aberto. A maneira como você tentou isso é usando outro :autocmd
no evento FileType
:
autocmd FileType html autocmd BufWritePre <buffer> call HtmlBeautify()
Mas isso é o que os plug-ins de tipo de arquivo são para :
Eu recomendaria colocar quaisquer configurações, mapeamentos e autocmds específicos do tipo de arquivo (como este) em ~/.vim/ftplugin/{filetype}_whatever.vim
(ou {filetype}/whatever.vim
; cp. :help ftplugin-name
) em vez de definir lotes de :autocmd FileType {filetype}
; é mais limpo e escala melhor; requer que você tenha :filetype plugin on
.