%60%20%D1%83%D0%BD%D0%B8%D1%87%D1%82%D0%BE%D0%B6%D0%B0%D0%B5%D1%82%20%D1%84%D0%B8%D0%B7%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D1%83%D1%8E%20%D1%81%D1%82%D1%80%D0%BE%D0%BA%D1%83%20%D0%B4%D0%B0%D0%B6%D0%B5%20%D1%81%20global-visual-line-mode%20%D0%B2%20Emacs.png)
Я определяю 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)))