Как предотвратить git vimdiff от открытия файлов только для чтения?

Я пытаюсь использовать vimdiff как инструмент diff для Git, но по какой-то причине файлы всегда открыты в режиме только для чтения. Это имеет смысл для исходного файла, но не для тех, которые я изменил (поскольку я еще не сделал их).

Это мой текущий .gitconfig:

[diff]
        tool = vimdiff
[merge]
        tool = vimdiff
[difftool]
        prompt = false

Любая идея, что может быть причиной этого?

Ответ 1

Это желаемое поведение по умолчанию для vimdiff. Вы можете отключить использование: set noro.

Ответ 2

Команда deafult, используемая для vimdiff для git: (найдена путем проверки списка процессов)

vim -R -f -d -c "wincmd l" -c 'cd "$GIT_PREFIX"' "$LOCAL" "$REMOTE"

Вы можете переопределить это (чтобы не использовать -R, режим readonly), установив переменную difftool.vimdiff.cmd.

git config --global difftool.vimdiff.cmd 'vim -f -d -c "wincmd l" -c '\''cd "$GIT_PREFIX"'\'' "$LOCAL" "$REMOTE"'

Цитата сложна. Я бы скопировал его.

Ответ 3

[Diff]       tool = vimdiff -R