%60%20%E3%81%AF%E3%80%81Emacs%20%E3%81%AE%20global-visual-line-mode%20%E3%81%A7%E3%82%82%E7%89%A9%E7%90%86%E8%A1%8C%E3%82%92%E5%89%8A%E9%99%A4%E3%81%97%E3%81%BE%E3%81%99%E3%80%82.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
ビジュアル ライン モードでも、物理的なラインは削除されます。ただし、キー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)))