Pule para o próximo item não excluído na lista de correções rápidas

1

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?

Kazark
fonte
Procurei a ajuda na vizinhança de :cn, mas não encontrei nada.
Kazark 07/02

Respostas:

2

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.

romainl
fonte
Sim, mas parece que, se o Vim tiver a capacidade de perceber que a linha foi excluída, ele poderá ter a opção de pular para a próxima sem a necessidade de fazer outras verificações. Mas +1.
Kazark 07/02
Não tem essa capacidade para começar. A lista de erros é uma lista de números de linhas e caminhos de arquivo, quando você exclui a linha 13 ainda há uma linha 13, é apenas o antigo linha 14.
romainl
Estou me referindo ao que mencionei na minha pergunta - quando o faço :cn, o Vim diz x 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.
Kazark 07/02
:cnpula 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 :cnque captura silenciosamente os erros e tenta :cnaté que ele possa realmente saltar para um erro real.
Romainl
0

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.

Kazark
fonte