"(kill-line 0)"은 Emacs에서 전역 시각적 라인 모드를 사용하는 경우에도 물리적 라인을 종료합니다.

"(kill-line 0)"은 Emacs에서 전역 시각적 라인 모드를 사용하는 경우에도 물리적 라인을 종료합니다.

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시각적 라인 모드에서도 물리적 라인은 여전히 ​​끊어집니다. 그러나 핵심 은 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)))

관련 정보