我想设置一个命令,将行的内容放在两个§
字符之间而不移动点(不包括包含 的行§
)。
这是我目前的尝试
(defun copy-section ()
"Copy current section, that is lines between two §."
(interactive)
(save-excursion
(when (not (search-backward-regexp "§" nil t))
(goto-char (point-min)) )
(forward-line 1)
(when (not (search-forward-regexp "§" nil t))
(goto-char (point-max)) )
(move-beginning-of-line nil)
(kill-ring-save (mark) (point)) ) )
它运作良好,但文档中关于围绕标记移动是不好的风格的评论让我认为有更好的方法来实现相同的结果。将位置保存到变量中(我不知道该怎么做)可以实现更简洁的功能。
上面的部分代码来自ergoemacs。