Freqüentemente, ao usar o recurso de lista de correções rápidas do Vim, altero ou excluo um bloco de texto (no meu caso, geralmente código), para que os próximos itens da lista de correções sejam invalidados. Quando o faço :cn
, o Vim percebe que elas foram excluídas, precedendo (line deleted)
a linha de código original na parte inferior da tela; no entanto, não os ignora. Existe uma maneira de pular para a próxima ocorrência em uma linha que não foi excluída?
1
:cn
, mas não encontrei nada.Respostas:
A lista de erros é estática: não muda automaticamente porque o Vim não executa nenhuma verificação de antecedentes ou o que seja. Para se livrar de erros inexistentes, você deve gerar novamente sua lista de erros. Claro e simples.
Até os IDEs recompilariam seu código em tal situação.
fonte
:cn
, o Vim dizx of y: (line deleted): test...
na parte inferior da tela. Ele reconhece uma incompatibilidade na linha para a qual pulou e na linha no item de correção rápida.:cn
pula para o próximo erro na lista de erros. Só então ele pode comparar. A comparação não pode ocorrer em segundo plano porque não há pré-processador em execução em segundo plano para atualizar a lista de erros e o Vim não pode executar código assíncrono de qualquer maneira. Se você encontrar uma maneira de gerar de forma contínua e assíncrona a lista de erros, terá o seu recurso. Mas o Vim não pode fazer isso em seu estado atual. Se você se sentir aventureiro, poderá escrever um invólucro:cn
que captura silenciosamente os erros e tenta:cn
até que ele possa realmente saltar para um erro real.Se você souber a aparência das linhas excluídas ou aproximadamente a aparência da próxima linha não eliminada ou a que distância abaixo ocorrerá, abra a lista de correções rápidas (
:copen
) e navegue até lá.No entanto, isso não mostra explicitamente quais linhas são excluídas e não é tão rápido e fácil quanto um comando típico do Vim.
fonte