作为学习 ELisp 的一部分,我正在尝试制作一个在当前行下方复制当前行的函数(复制该行)。到目前为止,我所拥有的效果很好,除了缓冲区的最后一行。如果在最后一行,则该行仅粘贴在行尾而不是在其下方。
这是我的代码:
(defun duplicate-line ()
"duplicate the current line"
(interactive)
(save-excursion
(kill-ring-save (line-beginning-position) (line-beginning-position 2))
(goto-char (line-beginning-position 2)) ; goto the start of the next line
(yank)
)
(next-line)
)
有没有更好的方法来做到这一点?我也将不胜感激有关编写 elisp 的任何其他建议。