Tidak ada bug di sini. Karena saya juga terganggu dengan perilaku ini, saya baru saja membaca kode Evil untuk mencari tahu mengapa ini terjadi. Jadi, berikut ini adalah salinan / tempel langsung dari one-liner yang dikomentari dengan baik dari konfigurasi Emacs saya yang memperbaiki masalah ini:
;; 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)
Kalimat terakhir adalah jawaban untuk pertanyaan tentang bagaimana " mengkonfigurasinya, bahwa teks visual akan digantikan oleh tindakan copy terbaru, dalam hal ini clipboard Windows? "
(fset 'evil-visual-update-x-selection 'ignore)
Nikmati.