executa o comando editor ao sair do modo de inserção no vim

0

Eu quero executar um :command no vim quando sair do modo de inserção. Especificamente, quero executar :GoFmt para formatar meu código quando sair do modo de inserção. Atualmente ele é executado quando eu salvo o arquivo, mas às vezes eu quero formatar antes de fazer uma verificação de sintaxe (o que acontece quando eu salvo o arquivo).

Minha solução atual era mapear <esc> para <esc>:GoFmt<enter> , mas isso quebra o comportamento das teclas de seta porque as teclas de seta começam com uma seqüência de escape. Existe uma solução melhor?

autocmd FileType go imap <esc> <esc>:GoFmt<enter>
    
por hermancain 19.11.2016 / 03:58

1 resposta

2

Bem, primeiro, eu aceito strongmente a sugestão de Wildcards para ir ao site vim ... :)

Mas segundo, definitivamente há uma solução melhor. Você pode usar um InsertLeave autocommand. Apenas faça isso:

autocommand InsertLeave go GoFmt

A vantagem é que isso não requer nenhum mapeamento, e executar o comando também é mais simples porque GoFmt já é um comando ex, portanto, você não precisa do :...<cr> .

    
por 19.11.2016 / 05:10

Tags