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

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

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

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

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

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

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

Потрібно хоч приблизно уявляти як працює 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 :) .


Коментарі