2012-01-12 4 views
5

Quando si modificano i documenti, mi atteno sempre a una determinata larghezza della linea di massimo 80 o 150 caratteri, dipende da ciò che sto scrivendo (codice, testo, ecc.). Se cambio solo un po ', l'intero paragrafo si sposterà e quindi più linee sono ora in ordine diverso per adattarsi perfettamente alla larghezza della linea data. Come faccio a differire questo per vedere il vero cambiamento reale e non gli artefatti di rewrapping?Come diffare il testo riavvolto?

Esempio, textwidth = 30: enter image description here

I cambiamenti attuali sono piuttosto piccola:

  • linea 9 inserto: "Ora cambiare un po '"
  • linea 15 inserto: "riempire qui qualcosa e scrivi cose totalmente nuove con molte più righe. "
  • riga 18 modifica: s/Duis/TYPO/

Il fatto che io usi (g) vimdiff qui non ha importanza, se altri software possono ottenere la differenza desiderata.

Ovviamente il software è progettato per avvolgere automaticamente quando il testo raggiunge i bordi della finestra, quindi ho anche provato a utilizzare solo interruzioni di riga alla fine di un paragrafo. Il motivo per cui questo non è buono è che le differenze automaticamente sono basate sulla linea, e per piccole modifiche nei paragrafi ottengo l'intera riga, che significa quindi l'intero paragrafo come aggiornamento diff :(.

+0

non vedo tutta la domanda di sviluppo qui, si può fornire maggiori dettagli? – Alex

risposta

3

GNU wdiff fa un word-by- (testo [- ... -] viene eliminato il testo, {+ ... +} è inserito) parola diff, non trattare gli spazi e le nuove linee in modo diverso. si può anche trovare i file di sintassi vim per esso (ad es here).

$ cat file1 
Lorem ipsum dolor sit amet, consectetur 
adipiscing elit. Aenean vel molestie 
nulla. Pellentesque placerat lacus vel 
eros malesuada tristique. Nulla vitae 
volutpat justo. Donec est mauris, 

$ cat file2 
Lorem amet, consectetur adipiscing some 
inserted text! elit. Aenean vel molestie 
nulla. Pellentesque placerat lacus vel 
eros malesuada replacement. Nulla vitae 
volutpat justo. Donec est mauris, 

$ wdiff file1 file2 
Lorem [-ipsum dolor sit-] amet, consectetur 
adipiscing {+some inserted text!+} elit. Aenean vel molestie 
nulla. Pellentesque placerat lacus vel 
eros malesuada [-tristique.-] {+replacement.+} Nulla vitae 
volutpat justo. Donec est mauris 

.

(Esistono altri programmi diff che fanno una cosa simile: ad esempio adiff, e forse alcuni di quelli elencati in https://stackoverflow.com/questions/12625/best-diff-tool)

+0

Grazie, .. c'è già una versione più recente per la sintassi wdiff: http://alfie.ist.org/projects/vim/syntax/wdiff.vim – math

1

Io uso DiffMerge che è gratuito e disponibile su molte piattaforme.

enter image description here

2

mi piace Beyond Compare per questo tipo di confronto di file side-by-side. Permette anche di fare confronti tra cartelle e confronti a livello di bit, e puoi fare clic con il tasto destro per selezionare il file a sinistra da confrontare, quindi un altro per selezionare quello a destra; oppure selezionare due file e fare clic con il tasto destro del mouse su Confronta per portarli entrambi immediatamente.

enter image description here