Если вы используете встроенный Emacs, то вы запускаете Emacs в терминале.«Буфер обмена» - это функция вашей оконной системы.Emacs в терминальном режиме (-nw
) не имеет доступа к каким-либо специфическим API оконной системы.Это верно для большинства инструментов командной строки, предназначенных для работы в терминале.
Вам нужно обновить Emacs, как предлагали другие, и запустить в графическом режиме.При использовании Emacs 24 в Mac OS X желаемое поведение по умолчанию.
Если вы хотите сделать это в терминале, тогда этот хак заставит работать буфер обмена.
(defun copy-from-osx ()
(shell-command-to-string "pbpaste"))
(defun paste-to-osx (text &optional push)
(let ((process-connection-type nil))
(let ((proc (start-process "pbcopy" "*Messages*" "pbcopy")))
(process-send-string proc text)
(process-send-eof proc))))
(setq interprogram-cut-function 'paste-to-osx)
(setq interprogram-paste-function 'copy-from-osx)