Cerca tutte le versioni di un file nella struttura degli annullamenti


11

C'è un modo più semplice per trovare un particolare cambiamento nell'albero degli annullamenti di Vim che guardare semplicemente vecchie versioni casuali del file una alla volta (usando i comandi VIM vanilla, Gundo o un altro plugin)?

Idealmente, vorrei inserire un modello di ricerca da abbinare a tutte le differenze mostrate da Gundo nel riquadro di anteprima, e quindi Gundo mi mostrerà quali versioni hanno differenze che corrispondono a quella ricerca.

Questa domanda pone qualcosa di quasi identico, ma il richiedente ha accettato una risposta che raccomanda semplicemente a Gundo, che, per quanto meraviglioso, non sembra fare quello che sto chiedendo.

Ho presentato questo come una nuova funzionalità per Gundo , ma non ho ricevuto risposta.

EDIT: esiste una richiesta aperta per questa funzione per undotree.

NOTA: questa domanda è stata "migrata manualmente" dal superutente .


Nota: plugin-gundosarebbe un buon tag per questa domanda, ma sfortunatamente quel tag non esiste ancora e non ho un rappresentante.
Kyle Strand,

1
C'è anche un non accordo . Non so come sia esattamente diverso da Gundo, o se supporta la funzionalità desiderata, ma potresti verificarlo.
Martin Tournoij,

2
Bump! Se controlli il problema di Gundo, qualcuno ha pubblicato un fork che fornisce una funzione di ricerca.
joeytwiddle,

@joeytwiddle L'ho visto! Non l'ho ancora verificato, però.
Kyle Strand,

Risposte:


6

In alcuni casi, questo potrebbe essere sufficiente:

:changes

Purtroppo non mostra un riepilogo completo della cronologia delle modifiche. Sembra mostrare solo la riga di testo su cui sei arrivato dopo ogni modifica.

È sufficiente per visualizzare tutti gli inserti o le modifiche a riga singola, ma solo l'ultima riga di un inserimento a più righe e nessun testo eliminato.

Può essere cercato solo visivamente, non automaticamente, anche se puoi prendere questo comando e quindi fare:

:PipeCmd changes | less

che consentirebbe la ricerca con /. O semplicemente pipe al grepposto di less.

Un modo alternativo per cercare quell'elenco sarebbe installare il plugin Unite e poi fare:

:Unite change

1
Hm. Dal momento che eseguire una ricerca e sostituzione può rendere completamente invisibili le parole sostituite changes, ciò non è estremamente utile. Quello che mi piacerebbe davvero è poter fare :%s/foo/bar/g, quindi fare una ricerca per fooquello (ricostruire e) mostrarmi l'ultima versione del file in cui fooera presente.
Kyle Strand,

2

Ora c'è un fork di gundo chiamato "mundo" con questa funzione.

Mentre sei nella finestra di annullamento dell'albero, /cercherà la cronologia anziché il testo visualizzato nella finestra stessa.

(Nota: questa caratteristica sembra essere stata adottata da una diversa forcella Gundo non so dove credito per l'attuazione appartiene, e ho. Non provato entrambe le forche per vedere quale funziona meglio.)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.