Заставить vimdiff показать весь файл

37

Как вы можете сделать так, чтобы vimdiff показывал все содержимое файлов? Мне бы хотелось, чтобы различия между цветами были выделены цветом, но все равно хотелось бы видеть файлы целиком, то есть части, которые идентичны.

питоническая метафора
источник

Ответы:

48

vimdiffустанавливает foldmethod diffтак, чтобы все неизмененные линии были сложены. Изнутри vimdiffвы можете открыть все складки, нажав zR.

Если вы хотите всегда показывать полный контекст, вы можете увеличить количество развернутых строк контекста до некоторого большого числа. В вашем ~/.vimrc:

if &diff                             " only for diff mode/vimdiff
  set diffopt=filler,context:1000000 " filler is default and inserts empty lines for sync
endif
Бенджамин Банье
источник
6
Да, zRэто путь. Примечание: zaвоссоздаю складки.
Слеське
@sleske zaне закрывается, но закрывается zM, как видно из ответа @Thomas.
MycrofD
@MycrofD: да. Если быть точным: zaзакроет одну складку (ту, что под курсором); zMзакроет все складки. Оба могут быть полезны.
слеске
Есть ли возможность увеличить развернутые контекстные строки в самой команде vimdiff. Это будет полезно при запуске из файла сценария оболочки.
егорая
Да, смотрите, vimdoc.sourceforge.net/htmldoc/options.html#'diffopt ', например, для просмотра с 42 строками контекста, которые можно установить set diffopt+=context:42.
Бенджамин Банье
3

Размещение курсора на строке, которую вы хотите расширить, и нажатие на клавишу пробела работает для меня!

Кажется, мне иногда приходилось использовать клавиши со стрелками.

Nate
источник