Ao meu lado, a solução foi usar com silentmais frequência em uma cadeia de comando .
Especificamente antes, .vimrctinha:
nnoremap M :silent make\|redraw!\|cc<CR>
Isso foi alterado para:
nnoremap M :silent make\|silent redraw!\|silent cc<CR>
Antes, o "Pressione ENTER" nem sempre aparecia, mas irritantemente com frequência. Os silents adicionais corrigiram isso. (Parece que silentnão é necessário, redraw!pois :cccausou a mensagem "Pressione ENTER".)
Essa alteração tem a desvantagem de não mostrar mais a saída de :cc, então você precisa adivinhar qual é o erro. Um pequeno ajuste corrige isso:
nnoremap M :silent make\|redraw!\|cw\|silent cc<CR>
Isso faz com que a lista QuickFix de erro (saída de make) apareça automaticamente (e, por vim-magic, desapareça se não houver erro).
PARA SUA INFORMAÇÃO:
A motivação deste Mmapeamento é apenas pressionar Mno modo normal para:
- salve a edição (ao usar
maketudo está sob gitcontrole de qualquer maneira)
- invocar
make
- e pule diretamente para o primeiro erro ou aviso
Meus Makefiles são geralmente construídos de tal forma que isso leva apenas uma fração de segundo.
Com um pouco de ajuste, isso também pode ser aplicado a Ccargas de trabalho diferentes:
Em .vimrcadicionar
set efm+=#%t#%f#%l#%c#%m#
Isso permite viminterpretar mensagens como a seguir para :cc(erro de exibição):
#E#file#line#column#message#
#W#file#line#column#message#
#I#file#line#column#message#
( Errors, arnings, Wnfo I, baseado em vimmagia)
Exemplo de como usar isso para scripts Python . (Desculpe, nenhuma cópia aqui, é uma história diferente.)
set dir=$TEMPno seu vimrc. Isso diz ao vim para usar a pasta temporária correta para seus arquivos temporários. Isso, por sua vez, corrige os erros e remove os prompts "pressione enter".