`(kill-line 0)` mata a linha física mesmo com o modo de linha visual global no Emacs

`(kill-line 0)` mata a linha física mesmo com o modo de linha visual global no Emacs

Eu defino backward-kill-lineassim.

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

E estou usando global-visual-line-mode.

kill-linemata a linha visual, mas backward-kill-linemata a linha física. Como posso mudar backward-kill-lineisso mata apenas a linha visual?

Responder1

kill-lineainda mata linhas físicas mesmo no modo Visual Line. No entanto, a chave C-ké recuperada para kill-visual-line.

O Emacs não tem backward-kill-linecomando, mas você pode ter escolhido um em algum lugar. Se você deseja uma função que elimine a linha visual, crie uma backward-kill-visual-linefunção ou use a seguinte função combinada que elimina a linha visual se estiver no modo de linha visual e a linha física caso contrário.

(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)))

informação relacionada