Тут немає помилок . Оскільки я також був роздратований такою поведінкою, я просто читав Злий код, щоб дізнатися, чому це відбувається. Отже, ось пряма копія / вставка добре коментованого однокласника з моєї конфігурації Emacs, який вирішує цю проблему:
;; Imagine the following scenario. One wants to paste some previously copied
;; (from application other than Emacs) text to the system's clipboard in place
;; of some contiguous block of text in a buffer. Hence, one switches to
;; `evil-visual-state' and selects the corresponding block of text to be
;; replaced. However, one either pastes some (previously killed) text from
;; `kill-ring' or (if `kill-ring' is empty) receives the error: "Kill ring is
;; empty"; see `evil-visual-paste' and `current-kill' respectively. The
;; reason why `current-kill' does not return the desired text from the
;; system's clipboard is because `evil-visual-update-x-selection' is being run
;; by `evil-visual-pre-command' before `evil-visual-paste'. That is
;; `x-select-text' is being run (by `evil-visual-update-x-selection') before
;; `evil-visual-paste'. As a result, `x-select-text' copies the selected
;; block of text to the system's clipboard as long as
;; `x-select-enable-clipboard' is non-nil (and in this scenario we assume that
;; it is). According to the documentation of `interprogram-paste-function',
;; it should not return the text from the system's clipboard if it was last
;; provided by Emacs (e.g. with `x-select-text'). Thus, one ends up with the
;; problem described above. To solve it, simply make
;; `evil-visual-update-x-selection' do nothing:
;; (fset 'evil-visual-update-x-selection 'ignore)
Останнє речення - це відповідь на питання, як " налаштувати його, щоб візуально текст замінили останню дію копіювання, в цьому випадку буфер обміну Windows? "
(fset 'evil-visual-update-x-selection 'ignore)
Насолоджуйтесь.