Я определяю backward-kill-line
так.
(defun backward-kill-line ()
(interactive)
(kill-line 0))
И я использую global-visual-line-mode
.
kill-line
убивает визуальную линию, но это backward-kill-line
убивает физическую линию. Как я могу изменить backward-kill-line
это, чтобы убивать только визуальную линию?
решение1
kill-line
все еще убивает физические линии даже в режиме Visual Line. Однако клавиша C-k
переназначена на kill-visual-line
.
В Emacs нет backward-kill-line
команды, но вы могли где-то ее подцепить. Если вам нужна функция, которая убивает визуальную линию, либо создайте функцию backward-kill-visual-line
, либо используйте следующую комбинированную функцию, которая убивает визуальную линию, если она находится в режиме визуальной линии, и физическую линию в противном случае.
(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)))