@@ -3782,11 +3782,21 @@ fn replace_with_yanked(cx: &mut Context) {
3782 let registers = &mut cx.editor.registers;
3782 let registers = &mut cx.editor.registers;
3784 if let Some(values) = registers.read(reg_name) {
3784 if let Some(values) = registers.read(reg_name) {
3785− if let Some(yank) = values.first() {
3785+ if !values.is_empty() {
3786+ let repeat = std::iter::repeat(
3789+ .map(|value| Tendril::from_slice(value))
3792+ let mut values = values
3794+ .map(|value| Tendril::from_slice(value))
3786 let selection = doc.selection(view.id);
3796 let selection = doc.selection(view.id);
3787 let transaction = Transaction::change_by_selection(doc.text(), selection, |range| {
3797 let transaction = Transaction::change_by_selection(doc.text(), selection, |range| {
3788 if !range.is_empty() {
3798 if !range.is_empty() {
3789− (range.from(), range.to(), Some(yank.as_str().into()))
3799+ (range.from(), range.to(), Some(values.next().unwrap()))
3790 } else {
3800 } else {
3791 (range.from(), range.to(), None)
3801 (range.from(), range.to(), None)