it-swarm-ru.tech

Сравнение двух файлов в Vim

Можно ли одновременно просматривать два файла в Vim? Если да, как я могу настроить свой редактор для этого, и есть ли способ diff между двумя файлами в Vim?

Я знаю о :next а также :prev команды, но это не то, что я после. Было бы здорово посмотреть два файла в тандеме.

65
Zaid

Откройте вид сбоку:

Ctrl+w v

Перемена между ними:

Ctrl+w h or l

Извлеките команду vimdiff, входящую в пакет vim, если вам нужно представление, похожее на diff:

vimdiff file1.txt file2.txt
46
maxschlepzig

Вы также можете открыть vim в режиме разделенного экрана с помощью -O опция: -

vim -O file1 [file2 ...]

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

Другой вариант использования, если у вас уже есть один файл, открытый в vim, и вы хотите открыть его и сравнить с другим. Затем вы можете использовать следующие команды vim:

:vs otherfile (open otherfile in vertical split screen)
:diffthis (turn on diff mode in original file)
Ctrl+w l  (swap to newly opened file)
:diffthis (turn on diff mode in opened file)

Затем вы можете отключить режим diff на каждой панели с помощью команды vim :diffoff.

Правка
И другой стандартный, который не был упомянут: -

vim -d file1 [file2 ...]

Это эквивалентно прямому вызову vimdiff.

44
Alex Leach

Вы также можете использовать команду vimdiff.

Пример:

vimdiff file1.txt file2.txt
9
Ákos Kovács

Или просто откройте первый файл в VIM, затем :vert diffsplit file2 :vert позволяет разделить экран по вертикали.

diffsplit делает diff, разделяет файлы и прокручивает их блокирует.

4
Dustin