vimdiff в cygwin не работает должным образом

2374
Deqing

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

vimdiff a.c b.c 

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

all-folded

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

no-difference

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

Я обнаружил, что мой 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 
0
Где-то есть ошибка. Различение этих двух файлов работает, как и ожидалось. romainl 12 лет назад 0
Появляются ли какие-либо ошибки при вводе ": messages" после запуска vimdiff? Я предполагаю, что вам не хватает _diff_ двоичного файла, или его нет в вашем $ PATH. Heptite 12 лет назад 1
@Heptite Никаких ошибок не было замечено в `: messages`, я обновил свой вопрос выводом. Deqing 12 лет назад 0
Что выводит "type diff"? Heptite 12 лет назад 0
@Heptite "type diff" показывает / cygdrive / c / Program Files (x86) / Vim / vim72 / diff. Снова обновил мой вопрос, спасибо за вопрос. Deqing 12 лет назад 0
Это не исполняемый файл Cygwin, это «родной» исполняемый файл Windows. Я не знаю, может ли это вызвать проблемы для исполняемого файла Cygwin Vim / gVim, но это может быть. Я предлагаю запустить исполняемый файл программы установки / установки Cygwin, выполнить поиск «diff» и установить его. Heptite 12 лет назад 0

2 ответа на вопрос

2
Neil

У меня точно такая же проблема. Я заметил следующую ошибку после выполнения: 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 

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

`: diffupdate` возвращает` E97: Невозможно создать diff` в моем vimdiff. Не уверен, почему и как это исправить. Deqing 12 лет назад 0
0
TegtmeierDE

I just had the same problem and running :diffupdate returned E97: Cannot create diffs

Solution: my /tmp partition was full. The diff command run internally by vim was not able to store the result. Just cleaned this up and everything was working again.

Похожие вопросы