Если в командной строке я запустил
vimdiff file1 file2
Я получаю экземпляр vim, у которого два файла открыты бок о бок. Предположим, что текст в файлах выглядит так (file1 находится слева, file2 - справа):
╔═══════╤═══════╗
║foo │-------║
║bar │bar ║
║grue │-------║
║~ │~ ║
║~ │~ ║
╚═══════╧═══════╝
Теперь предположим, что мой курсор находится на "f" "foo" и что я хочу скопировать первую строку файла1 в первую строку файла2.
Один из способов сделать это - выбрать и выдернуть (скопировать) строку с помощью v $y, а затем использовать Ctrl + wl, чтобы переместить курсор на первой строке файла2, а затем введите p, чтобы вставить скопированную строку. Если я это сделаю, и тогда я решил, что я действительно не хочу этого делать, я могу нажать u, чтобы отменить команду вставки, которую я выполнил в файле2.
Другой способ сделать это - использовать команду diff put dp. Однако, если после этого я решил, что не хотел этого делать, я не могу его отменить, просто нажав u, потому что мой курсор все еще находится в файле1 и u отменяет последнее изменение файла1, а не последнее изменение файла2. Поэтому вместо этого я должен использовать Ctrl + wl или Ctrl + ww, чтобы переместить курсор в окно для файла2, а затем нажмите u.. p >
Итак, мой вопрос: после того, как я использовал dp, как указано выше, есть ли какой-либо простой способ для его отмены, не переместив курсор на другое окно файла?