`(kill-line 0)` mata la línea física incluso con el modo de línea visual global en Emacs

`(kill-line 0)` mata la línea física incluso con el modo de línea visual global en Emacs

Yo lo defino backward-kill-lineasí.

(defun backward-kill-line ()
  (interactive)
  (kill-line 0))

Y estoy usando global-visual-line-mode.

kill-linemata la línea visual, pero esto backward-kill-linemata la línea física. ¿Cómo puedo cambiar backward-kill-lineeso mata sólo la línea visual?

Respuesta1

kill-linetodavía mata las líneas físicas incluso en el modo Visual Line. Sin embargo, la clave C-kes el rebote kill-visual-line.

Emacs no tiene ningún backward-kill-linecomando, pero es posible que haya adquirido uno en alguna parte. Si desea una función que elimine la línea visual, cree una backward-kill-visual-linefunción o use la siguiente función combinada que elimine la línea visual si está en el modo de línea visual y la línea física en caso contrario.

(defun backward-kill-visual-line (arg)
  "Kill ARG visual lines backward."
  (interactive "p")
  (funcall (if visual-line-mode #'kill-visual-line #'kill-line)
           (- 1 arg)))

información relacionada