Elisp で努力しましたが、うまくいきませんでした - 引数の数が間違っていると言います。Elips を知っていれば、おそらくこれは労力をかけずにエレガントに実行できるでしょう。しかし、私がやろうとしていることをすぐに理解していただけるように、私の手の込んだものを含めます。
(defun copy-all ()
"Copy entire buffer to clipboard"
(interactive)
(let ((pos (point)))
(progn
(mark-whole-buffer)
(clipboard-kill-ring-save)
(keyboard-quit)
(goto-char pos)
(message "Copy done."))))