Скажем, я дернул 3 символа "foo" в свой буфер обмена, используя визуальный select + yank, то есть: "vllly"
Затем я переместил свой курсор на другой символ (позвольте этому символу x) в строке 5, который я хотел бы заменить тем, что я дернул ранее, а именно foo.
Я могу использовать 'p' для вставки foo после x или 'P' для вставки foo до x, но я хочу заменить x на foo.
Я могу использовать 'vp' для замены x с помощью foo, но это работает только один раз, поскольку он оставляет меня с x в моем буфере обмена. Другими словами, если я перейду к следующему появлению x и снова удалю vp, он не заменит его на foo.
Конечно, я мог бы выполнить поиск/замену с помощью: s/x/foo/gc и затем игнорировать все вхождения x, которые я не хочу заменять, но это немного утомительно для ввода, особенно когда все Мне нужно выполнить замену 2 или 3 вхождений x, которые очень близки к моему курсору, но не в одной строке (то есть: строки 2, 3 и 7).
Итак, в настоящее время я использую: 2,7s/x/foo/gc, но мне интересно, есть ли способ переместить мой курсор в x и нажать [insert magic button здесь], чтобы заменить его на foo. И затем я могу перейти к следующему появлению x и снова нажать [волшебную кнопку] и стрелу, он заменил x на foo снова.
Как бы мне не хотелось использовать эту аналогию, представьте, что вы печатаете в блокноте, и вы выбираете 3 символа, нажимаете Ctrl + c, чтобы скопировать их в свой буфер обмена, а затем выделите x и нажмите Ctrl + v, чтобы замените его на foo. Затем вы выделите другой x и снова нажмите Ctrl + v и т.д.
Как это сделать в vim?