Jak dobrze radzić sobie z git diff z kompatybilnym trybem wizualnym?

9

Składam rękopis w trybie org z visual-line-modewłączonym. Fizycznie jeden z moich akapitów to po prostu linia, która jest miękko owinięta.

W tym przypadku, gdy próbowałem git diff (magit), aby zobaczyć, co zmieniłem, cała ta linia (akapit) jest oznaczona do zmiany. Nie mogłem dowiedzieć się, która część tego akapitu została po prostu zmieniona.

Myślę, że powinny istnieć pewne rozwiązania dotyczące ponownego zarejestrowania tego problemu, ale nie mogłem znaleźć żadnej odpowiedzi ze strony internetowej. Czy ktoś może udostępnić twoje dobre rozwiązanie?

Leu_Grady
źródło
Polecenie git, którego używam, aby sobie z tym poradzić, to git diff --color-words. Nie wiem, jak zmusić magit do korzystania z tej opcji.
erikstokes,
@erikstokes: magit obecnie nie może go użyć, ale sprawdź magit-diff-refine-hunkcoś podobnego.
npostavs,
@npostavs Twój komentarz jest bardzo przydatny. Więc jeśli jest to w porządku, chciałbym prosić o odpowiedź na to pytanie dla wygody innych.
Leu_Grady,

Odpowiedzi:

11

Możesz dostosować / ustawić, magit-diff-refine-hunkaby wyróżniać zmiany słów. magit-diff-toggle-refine-hunk, związany z D t, może być użyty do zmiany go w locie.

magit-diff-refine-hunk is a variable defined in `magit-diff.el'.

Whether to show word-granularity differences within diff hunks.

nil    never show fine differences.
t      show fine differences for the selected diff hunk only.
`all'  show fine differences for all displayed diff hunks.
npostavs
źródło
2
Również M-x magit-diff-toggle-refine-hunkzwiązany D t(tj poprzez magit-diff-refresh-popup) w MAGIT 2.
phils