Pesquisar todas as versões de um arquivo na árvore de desfazer

11

Existe uma maneira mais fácil de encontrar uma alteração específica na árvore de desfazer do Vim do que apenas olhar versões aleatórias do arquivo antigo, uma de cada vez (usando os comandos vanilla VIM, Gundo ou outro plug-in)?

Idealmente, eu gostaria de inserir um padrão de pesquisa para corresponder a todos os diffs mostrados no painel de visualização do Gundo e depois fazer com que o Gundo me mostre quais versões têm diffs que correspondem a essa pesquisa.

Essa pergunta faz algo quase idêntico, mas o solicitante aceitou uma resposta que simplesmente recomenda o Gundo, que, por mais maravilhoso que seja, não parece fazer o que estou pedindo.

Lancei isso como um novo recurso para o Gundo , mas não recebi resposta.

EDIT: Existe uma solicitação aberta para este recurso para não-árvores.

NOTA: Esta pergunta foi "migrada manualmente" do superusuário .

Kyle Strand
fonte
Nota: plugin-gundoseria uma boa tag para esta pergunta, mas infelizmente essa tag ainda não existe e eu não tenho representantes.
Kyle Strand
11
Há também não- árvore . Não sei exatamente como ele é diferente do gundo, ou se ele suporta o recurso que você deseja, mas você pode conferir.
Martin Tournoij 25/02
2
Colisão! Se você verificar o problema do Gundo, alguém postou um garfo que fornece um recurso de pesquisa.
joeytwiddle
@joeytwiddle eu vi isso! Ainda não o verifiquei ainda.
Kyle Strand

Respostas:

6

Em alguns casos, isso pode ser suficiente:

:changes

Infelizmente, ele não mostra um resumo completo do seu histórico de edições. Parece mostrar apenas a linha de texto em que você pousou após cada alteração.

Isso é bom o suficiente para exibir todas as inserções ou edições de linha única, mas apenas a última linha de uma inserção de várias linhas e nenhum texto excluído.

Ele só pode ser pesquisado visualmente, não automaticamente, embora você possa pegar esse comando e depois:

:PipeCmd changes | less

o que permitiria pesquisar com /. Ou apenas canalize para em grepvez de less.

Uma maneira alternativa de pesquisar nessa lista seria instalar o plug - in Unite e depois:

:Unite change
joeytwiddle
fonte
11
Hum. Como fazer uma pesquisa e substituição pode tornar as palavras substituídas completamente invisíveis changes, isso não é muito útil. O que eu realmente gostaria é poder fazer e :%s/foo/bar/g, em seguida, fazer uma pesquisa para fooisso (reconstruir e) me mostrar a última versão do arquivo em que fooestava presente.
Kyle Strand
2

Agora existe um garfo gundo chamado "mundo" com esse recurso.

Enquanto estiver na janela desfazer a árvore, /pesquisará o histórico em vez do texto exibido na própria janela.

(Nota: esse recurso parece ter sido adotado a partir de um fork do gundo diferente . Não tenho certeza de onde pertence o crédito pela implementação e não tentei os dois garfos para ver qual deles funciona melhor.)

Kyle Strand
fonte