Використання vimdiff для порівняння файлів в консолі

  у розділі Технічні теми 

Якщо треба порівняти два файли, знавці командного рядка використовують diff.

Якщо ж потрібно швидко і якісно об’єднати декілька файлів — краще використовувати програми, що візуалізують різницю між файлами з можливістю редагувати їх.

Для графічних оболонок таких програм є багато, а що робити якщо ви в текстовій консолі на віддаленому сервері?

В такому випадку, найчастіше Ви зустрінетесь з розширенням тектового редактора Vim — Vimdiff.

На вигляд воно страшне, але доволі дієве.

Потрібно хоч приблизно уявляти як працює Vim. наприклад більшість команд це справді команди, які треба вводити руками.

Натисніть "Esc" щоб припинити редагувати текст і потрапити в командний рядок редактора.

Для прикладу, напишіть в ком. рядку "wq" (write quit) щоб зберегти та вийти з документу, або "q!" щоб вийти без збереження. Отак все і робиться.

Щоб порівняти два файли використовуйте команду

vimdiff file1 file2 [file3]

Відкриється текстовий редактор Vim (vimdiff), поділений на декілька частин, в кожній з яких буде показано відповідний файл.

vimdiff

Vimdiff відразу спробує зрозуміти чим саме відрізняються файли і зобразити це за допомогою кольорового виділення тексту.

Наприклад сині рядки це ті місця в поточному файлі де бракує якоїсь інформації, а червоні, це ті, які в поточному файлі є, а в порівняльному — зникли і т.п.

Тепер Вам треба вирішити як два файли злити докупи. Для цього, перебуваючи у рядку в якому виявлено різну інформацію, використовуйте такі команди:

ctrl+w ctrl+w - переключитись між файлами




]c - наступний рядок, в якому є відмінний код




[c - попередній рядок, в якому є відмінний код




do - (diff obtain), отримати текст з іншого вікна, якого не вистачає в поточному




dp - (diff put), записати текст з поточного вікна в інше

Для детальнішої інформації куріть _man vim :) . _


Коментарі