При сравнении файлов и обновлении репозитория исходного кода мне нравится использовать vimdiff. Чтобы скопировать изменения, сделанные из одного файла в другой, я обычно использую последовательность клавиш, например:
Shift + V (select line)
k or j; { or }; Up or down arrow keys (select more lines)
y (copy selected lines)
Ctrl + w, left/right arrow (move to other pane)
p (paste lines)
Vim, будучи мастером сочетаний клавиш, наверняка должен иметь более простой способ выполнения этой же задачи. Есть один? Что вы используете для ручного обновления изменений исходного кода?
Ответы:
do
(diff получить) иdp
(diff put) это то, что вам нужно. Вот небольшой список других полезных команд обычного режима в этом контексте.ПРИМЕЧАНИЕ: и то и
другое работает, если вы находитесь в блоке или в одной строке под блоком в обычном режиме, но не в визуальном режиме. При выборе строк текста в визуальном режиме вы должны использовать обычные команды
do
dp
:'<,'>diffget
а также:'<,'>diffput
,Смотрите также
:h copy-diffs
.:diffupdate
повторно проверит файлы на наличие изменений.источник
:[range]diffget
и:[range]diffput
нужны.diffget
иdiffput
: ① Введите визуальный режим и отметить некоторый текст / линию. Type Затем введите,:diffput
чтобы вставить выбранные строки в другой файл или:diffget
получить выбранные строки из другого файла.dp
и передумаете, вам нужно переключиться на другой буфер для отмены.V
выбрать целую строку, а затемdo
скопировать определенную строку в текущем vim (8.0), чего бы это ни стоило.