У меня открыто два файла. Они открываются в вертикальном режиме, рядом друг с другом. Могу ли я мгновенно сравнить эти два файла, не выходя из Vim и не закрывая его?
Сравните два вертикально открытых окна в Vim
Ответы (4)
Чтобы начать различать все видимые окна:
:windo diffthis
который выполняет :diffthis
в каждом окне.
Чтобы выйти из режима сравнения:
:diffoff!
(!
заставляет diffoff
применяться ко всем окнам текущей вкладки - было бы неплохо, если бы diffthis
имел ту же функцию, но это не так.)
:windo
делает его еще лучше. Спасибо. Я нанесу на карту, чтобы было проще.
- person Fatih Arslan; 08.12.2010
:windo difft[this]
. Ссылка: :help diff
- person DmitrySandalov; 22.04.2015
в каждом из окон, которые вы хотите ввести:
:diffthis
Если вы хотите изменить все открытые окна, вы можете сделать:
:windo diffthis
(windo
применит команду ко всем открытым окнам)
В продолжение предыдущих ответов,
:windo difft
(сокращение отdiffthis
) запускает режим сравнения во всех открытых окнах.:windo diffo
(сокращение отdiffoff
) остановит режим сравнения во всех открытых окнах.
У меня есть следующие сопоставления в моем vimrc
, чтобы упростить его:
command! Difft windo diffthis
command! Diffo windo diffoff
Следуя предыдущим ответам, я адаптировал сопоставление, предоставленное @cxw. Следующее сопоставление автоматически закрывает NERDTree и различает открытые окна. Неважно, закрыт ли NERDTree, он работает точно так же. Я делаю это довольно часто, так что это сэкономило мне довольно много времени.
command! Difft NERDTreeClose | windo diffthis