我正在尝试编写一个函数:
通过(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)
)
)
Run Code Online (Sandbox Code Playgroud)
这个fullfils(1)但如果某个区域处于活动状态则不执行任何操作.在这种情况下如何让emacs服从kill-rectangle函数?
kill-rectangle需要start和end的顺序,那么你的代码只能在点<大关.
执行此类操作的典型方法是提供函数start和end参数,然后使用(interactive "r").