8

私は次のことを実装しようとしています: 現在選択されている領域または行 (選択されていない場合) を複製し、 を使用して元の領域をコメントアウトしcomment-or-uncomment-region-or-lineます。

kill-region続いて使用できると考えましたyankが、元の選択が失われるため、コメントできません。一方、最初にコメントすると、私の地域の両方のコピーがコメントアウトされます。

私が持っているもう1つのアイデア(悪モードを使用しているため、より良いと思います)は、選択を使用evil-yankevil-visual-restoreてから復元して、コメントアウトできるようにすることです。evil-yankしかし、選択した領域を指定するために渡す引数を理解できません。

ここで何が欠けていますか?

4

1 に答える 1

7

あなたが欠けている主なものは functioncopy-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 に答える