我正在尝试编写一个函数,它将:
- 如果没有选择区域,则终止当前行。
- 如果选择了一个区域,则终止点和标记之间的矩形。
(2) 我的意思是如果你运行 Mx kill-rectangle 会发生同样的事情。
这是我对该功能的尝试:
(defun cut-line-or-rectangle ()
"Cut rectangle if selection exists, cut line otherwise"
(interactive)
(if mark-active
(kill-rectangle (point) (mark))
(kill-whole-line)
)
)
这将满足 (1) 但如果区域处于活动状态则不执行任何操作。在这种情况下,如何使 emacs 服从 kill-rectangle 功能?