Diff две вкладки в Vim

сценарий: я открыл Vim и вставил некоторый текст. Я открываю вторую вкладку с :tabe и вставьте туда другой текст.

цель: я хотел бы третью вкладку с выходом, эквивалентным написанию обоих текстов в файлы и открытию их с помощью vimdiff.

самое близкое, что я могу найти, это "diff текущий буфер против файла", но не diffing два открытых, но несохраненных буфера.

4 ответов


Я предлагаю открыть второй файл в той же вкладке вместо нового.

вот что я обычно делаю:

:edit file1
:diffthis
:vnew
:edit file2
:diffthis

на :vnew команда разбивает текущее представление по вертикали, чтобы вы могли открыть там второй файл. The :diffthis (или коротко: :difft) команда затем применяется к каждому представлению.


Я бы предложил попробовать :diffthis или :diffsplit


когда у вас есть два файла, открытые в вертикальном splitt, запустите

:windo diffthis


содержимое всех вкладок находится внутри буферов. Посмотрите на буферы:

:buffers

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

откройте буфер внутри текущей вкладки (f.e. буфер номер 4)

:sb 4

или сделайте для вертикального взгляда:

:vertical sb 4

тогда вы можете просто diff содержание с

:windo diffthis

если вы закончили анализ различий, вы можете ввести:

:windo diffoff