Подобно команде 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
Например, если вы находитесь в левом окне и хотите применить изменения из текущего окна в правое окно, то вы выполните вышеуказанную команду.