8

我正在尝试执行以下操作:复制当前选定的区域或一行(如果没有选择)并在comment-or-uncomment-region-or-line.

我想我可以使用kill-regionyank但后来我原来的选择丢失了,所以我不能评论。另一方面,如果我先发表评论,我将把我所在区域的两个副本都注释掉。

我的另一个想法(我认为更好,因为我使用邪恶模式)是使用evil-yank然后evil-visual-restore恢复选择,以便我可以将其注释掉。但我不知道要传递哪些参数来evil-yank指定所选区域。

我在这里想念什么?

4

1 回答 1

7

您缺少的主要内容是 function copy-region-as-kill

(defun copy-and-comment-region (beg end &optional arg)
  "Duplicate the region and comment-out the copied text.
See `comment-region' for behavior of a prefix arg."
  (interactive "r\nP")
  (copy-region-as-kill beg end)
  (goto-char end)
  (yank)
  (comment-region beg end arg))
于 2014-05-11T04:30:25.630 回答