evil – Pegar texto no funciona correctamente en el modo web / maligno

Pregunta:

En determinadas situaciones, Emacs no pega correctamente el texto. Aparentemente, esto solo sucede si el búfer actual no se guarda y se cargan tanto el modo web como el modo maligno. Pude reproducir este comportamiento con la siguiente configuración:

(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
(package-initialize)
(require 'evil)
(evil-mode 1)
(require 'web-mode)
(add-to-list 'auto-mode-alist '("\\.js\\'" . web-mode))

Reproducción:

Edite el siguiente archivo:

function test() {
    console.log('hello world');
}

Luego presione la siguiente serie de teclas:

yGPwywp (Copie la función delante del cursor, vaya al nombre de la función, cópielo detrás del cursor)

Resultado:

function test() {
tes
    console.log('hello world');
}
function test() {
    console.log('hello world');
}

Aparentemente, el texto se ha truncado y se está pegando en la siguiente línea. Si elimino el modo web (las dos últimas líneas) de mi configuración, entonces todo funciona como se esperaba:

function ttestest() {
    console.log('hello world');
}
function test() {
    console.log('hello world');
}

Aquí está el resultado de web-mode-debug :

Loading /usr/share/emacs/site-lisp/site-start.d/autoconf-init.el (source)...done
Loading /usr/share/emacs/site-lisp/site-start.d/cmake-init.el (source)...done
Loading /usr/share/emacs/site-lisp/site-start.d/desktop-entry-mode-init.el (source)...done
Loading /usr/share/emacs/site-lisp/site-start.d/git-init.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
test.js has auto save data; consider M-x recover-this-file
 [2 times]
--- WEB-MODE DEBUG BEG ---
versions: emacs(25.0) web-mode("14.0.8")
vars: engine("none") minor("none") content-type("javascript") file("/home/tbo/test.js")
system: window(nil) config("x86_64-redhat-linux-gnu")
colors: fg(nil) bg(nil)
minor modes: (completion-in-region-mode global-eldoc-mode evil-local-mode evil-mode undo-tree-mode global-undo-tree-mode shell-dirtrack-mode)
vars:
web-mode-enable-current-column-highlight=nil
web-mode-enable-current-element-highlight=nil
indent-tabs-mode=t
--- WEB-MODE DEBUG END ---

Aquí está el resultado de list-command-history :

(evil-yank 10 14 (quote exclusive) nil nil)
(evil-yank 1 53 (quote line) nil nil)

Respuesta:

Aparentemente lo arreglaron en mal: https://github.com/emacs-evil/evil/pull/937 Pero no lo he probado yo mismo.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım