Como lidar bem com o git diff compatível com o modo de linha visual?

9

Eu digitei meu manuscrito no modo organizacional com visual-line-modeligado. Fisicamente, um dos meus parágrafos é apenas uma linha que é enrolada com suavidade.

Nesse caso, quando tentei git diff (magit) para ver o que alterei, toda essa linha (parágrafo) está marcada para ser alterada. Não pude descobrir qual parte deste parágrafo foi alterada simplesmente.

Acho que deveria haver algumas soluções para corrigir esse problema, mas não encontrei nenhuma resposta no site. Alguém pode compartilhar sua boa solução?

Leu_Grady
fonte
O comando git que eu uso para lidar com isso é git diff --color-words. Não sei como fazer o magit usar essa opção.
Erikstokes
@erikstokes: o magit atualmente não pode usá-lo, mas veja magit-diff-refine-hunkalgo semelhante.
npostavs
@npostavs Seu comentário é muito útil. Portanto, se estiver tudo bem, gostaria de pedir que você responda a essa pergunta para a conveniência de outras pessoas.
Leu_Grady

Respostas:

11

Você pode personalizar / definir magit-diff-refine-hunkpara destacar as alterações de palavras. magit-diff-toggle-refine-hunk, vinculado a D t, pode ser usado para alterá-lo rapidamente.

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
fonte
2
Também M-x magit-diff-toggle-refine-hunkligado a D t(isto é, via magit-diff-refresh-popup) em magit 2.
phils