patch 8.2.0260: several lines of code are duplicated

Problem:    Several lines of code are duplicated.
Solution:   Move duplicated code to a function. (Yegappan Lakshmanan,
            closes #5330)
diff --git a/src/os_unix.c b/src/os_unix.c
index 15d88f9..654480d 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -4980,29 +4980,7 @@
 			    }
 			}
 
-			// replace K_BS by <BS> and K_DEL by <DEL>
-			for (i = ta_len; i < ta_len + len; ++i)
-			{
-			    if (ta_buf[i] == CSI && len - i > 2)
-			    {
-				c = TERMCAP2KEY(ta_buf[i + 1], ta_buf[i + 2]);
-				if (c == K_DEL || c == K_KDEL || c == K_BS)
-				{
-				    mch_memmove(ta_buf + i + 1, ta_buf + i + 3,
-						       (size_t)(len - i - 2));
-				    if (c == K_DEL || c == K_KDEL)
-					ta_buf[i] = DEL;
-				    else
-					ta_buf[i] = Ctrl_H;
-				    len -= 2;
-				}
-			    }
-			    else if (ta_buf[i] == '\r')
-				ta_buf[i] = '\n';
-			    if (has_mbyte)
-				i += (*mb_ptr2len_len)(ta_buf + i,
-							ta_len + len - i) - 1;
-			}
+			term_replace_bs_del_keycode(ta_buf, ta_len, len);
 
 			/*
 			 * For pipes: echo the typed characters.