Function: evil-replace
evil-replace is an interactive and byte-compiled function defined in
evil-commands.el.
Signature
(evil-replace BEG END &optional TYPE CHAR)
Documentation
Replace text from BEG to END with CHAR.
Key Bindings
Source Code
;; Defined in ~/.emacs.d/elpa/evil-20251108.138/evil-commands.el
(evil-define-operator evil-replace (beg end type char)
"Replace text from BEG to END with CHAR."
:motion evil-forward-char
(interactive "<R>"
(unwind-protect
(let ((evil-force-cursor 'replace))
(evil-refresh-cursor)
(list (evil-read-key)))
(evil-refresh-cursor)))
(when char
(if (eq type 'block)
(save-excursion
(evil-apply-on-rectangle
#'(lambda (begcol endcol char)
(let ((maxcol (evil-column (line-end-position))))
(when (< begcol maxcol)
(setq endcol (min endcol maxcol))
(let ((beg (evil-move-to-column begcol nil t))
(end (evil-move-to-column endcol nil t)))
(delete-region beg end)
(insert (make-string (- endcol begcol) char))))))
beg end char))
(goto-char beg)
(cond
((eq char ?\n)
(delete-region beg end)
(newline)
(when evil-auto-indent
(indent-according-to-mode)))
(t
(while (< (point) end)
(if (eq (char-after) ?\n)
(forward-char)
(delete-char 1)
(insert-char char 1)))
(goto-char (max beg (1- end))))))))