Как хорошо справиться с git diff с совместимым с visual-line-mode?

9

Я набрал свою рукопись в режиме орг с visual-line-modeвключенным. Физически один из моих абзацев - это просто строка, которая мягко обернута.

В этом случае, когда я попытался выполнить git diff (magit), чтобы увидеть, что я изменил, вся эта строка (абзац) помечается для изменения. Я не мог узнать, какая часть этого параграфа была просто изменена.

Я думаю, что должны быть некоторые решения, исправляющие эту проблему, но я не мог найти никакого ответа от вебсайта. Кто-нибудь может поделиться вашим хорошим решением?

Leu_Grady
источник
Команда git, которую я использую для решения этой проблемы, такова git diff --color-words. Я не знаю, как заставить Magit использовать эту опцию.
erikstokes
@erikstokes: magit в настоящее время не может использовать его, но ищет magit-diff-refine-hunkчто-то подобное.
npostavs
@npostavs Ваш комментарий очень полезен. Так что, если все в порядке, я хотел бы попросить вас ответить на этот вопрос для удобства других.
Leu_Grady

Ответы:

11

Вы можете настроить / установить, magit-diff-refine-hunkчтобы выделить изменения слов. magit-diff-toggle-refine-hunk, привязанный к D t, может быть использован, чтобы изменить его на лету.

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
источник
2
Также M-x magit-diff-toggle-refine-hunkсвязано D t(то есть через magit-diff-refresh-popup) в Magit 2.
Филс