Учебники

Vim — Diff

Подобно команде diff в UNIX, мы можем использовать Vim для лучшего отображения diff. Это покажет diff в красочной манере. В этой главе мы обсудим следующие пункты —

  • Показать различия между файлами
  • Активировать и деактивировать режим сравнения
  • Навигация в режиме сравнения
  • Применение изменений из окна сравнения

Показать разницу

Чтобы показать различия между файлами, выполните следующую команду:

$ vimdiff <file> <file> 
OR 
$ vim –d <file> <file>

Например, ниже команда показывает различия —

Шоу

На изображении выше текст, выделенный пурпурным цветом, является обычным. Оставшийся текст выделен красным цветом, что указывает на некоторые различия после общего текста.

Активировать и деактивировать режим сравнения

Если вы уже находитесь в vim и хотите выполнить diff, используйте одну из следующих команд:

diffsplit

Используйте команду ниже для выполнения горизонтального разделения —

:diffsplit filename

Трещина

Изображения выше показывают, что мы сравниваем два файла, а именно message-1.txt и message-2.txt.

Вертикальный diffsplit

Для выполнения вертикального разделения используйте следующую команду —

:vert diffsplit <filename>

Открывается следующее окно —

вертикальный

Изображения выше показывают, что мы сравниваем два файла, а именно message-1.txt и message-2.txt.

Навигация в режиме сравнения

Навигация в режиме сравнения немного отличается. Например, когда вы прокручиваете текст из одного окна, текст из соседнего окна также прокручивается. Это называется прокруткой. Чтобы включить это использование —

:set scrollbind

Чтобы отключить это использование —

:set noscrollbind

Если вы редактируете файл в этом режиме, используйте следующую команду для обновления diff —

:diffupdate

Переключаться между окнами diff

Для переключения между окнами diff выполните следующую команду —

Ctrl + w Ctrl + w

Обратите внимание, что мы должны нажать Ctrl + w 2 раза.

Перейти к предыдущему изменению

В окне сравнения выполните следующую команду, чтобы перейти к предыдущему изменению —

[c

Перейти к следующему изменению

В окне сравнения выполните следующую команду, чтобы перейти к следующему изменению —

]c

Применить изменения из окна сравнения

Применение изменений в текущих окнах различий

Чтобы применить изменения из соседнего окна сравнения к текущим окнам выполнения, выполните:

:diffget

Например, если вы находитесь в левом окне и хотите перейти от правого окна к текущему окну, то вы выполните вышеуказанную команду.

Применить изменение с текущей панели на другую

Чтобы применить изменение от текущего окна сравнения к соседнему окну выполнения, выполните:

:diffput

Например, если вы находитесь в левом окне и хотите применить изменения из текущего окна в правое окно, то вы выполните вышеуказанную команду.