Когда я сравнивал два файла с vimdiff в моем cygwin,

vimdiff a.c b.c

все линии были сложены (как показано ниже)

все сложенный

Затем я использовал zR чтобы открыть все папки, но никакой разницы не было.

нет разницы

Еще одна странная вещь: когда я начинаю добавлять новую строку (КНОПКА o), она начинает показывать разницу: новая разностная

Я обнаружил, что мой vimdiff на самом деле связан с gvim , не уверен, что это проблема?

$ type diff
diff is /cygdrive/c/Program Files (x86)/Vim/vim72/diff

$ type vimdiff
vimdiff is /usr/bin/vimdiff

$ ll /usr/bin/vimdiff
lrwxrwxrwx 1 dhuang7 Domain Users 25 Jul 27 16:35 /usr/bin/vimdiff -> /etc/alternatives/vimdiff

$ ll /etc/alternatives/vimdiff
lrwxrwxrwx 1 dhuang7 Domain Users 17 Jul 27 16:35 /etc/alternatives/vimdiff -> /usr/bin/gvim.exe

$ ll /usr/bin/gvim.exe
-rwxr-xr-x 1 dhuang7 Domain Users 1801245 Jun 28 12:39 /usr/bin/gvim.exe

Кстати нет .vimrc когда это работает. И я попытался добавить set diffopt=filler,context:50 в мой .vimrc но все так же.

Пробовал :messages после запуска vimdiff, но ошибки не было замечено:

"a.c" 7L, 74C
"b.c" 6L, 59C

2 ответа2

2

У меня точно такая же проблема. Я заметил следующую ошибку после выполнения:diffupdate

/bin/bash: /usr/share/vim/vim73diff: No such file or directory

Этот файл, очевидно, не существует, поэтому я подозреваю, что @Heptite правильно сказал, что vi не может найти двоичный файл diff. diff.exe уже был в моем PATH, хотя, поэтому я запутался в этом. Тем не менее, символические ссылки, кажется, решить проблему.

ln -s /usr/bin/diff /usr/share/vim/vim73diff

Ужасно, но я снова работаю.

0

У меня была та же проблема, и я запустил :diffupdate вернул E97 E97: Cannot create diffs

Решение: мой раздел /tmp был заполнен. Внутренняя команда diff запущенная vim, не смогла сохранить результат. Просто убрал это и все снова заработало.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .