如何从OSX上的剪贴板粘贴到Emacs?

n_x*_*x_l 35 emacs paste osx-lion emacs22

这可能非常简单,但我正在使用Emacs(22.1.1),我无法使用Control- 将其粘贴到剪贴板中Y.

ayc*_*ter 40

尝试使用该M-x clipboard-yank命令.如果要将文本复制到剪贴板,则必须执行此操作M-x clipboard-kill-region.

这适用于Linux和Windows,我猜在Mac上它是一样的.

  • 我实际上今天在我的Ubuntu 11.10上使用最新的emacs尝试了这个,它没有用.它说杀戮戒指是空的.我正在使用你的第一个命令. (3认同)
  • 至少在Emacs-25.0中破坏的`clipboard-yank` - 在`select-enable-clipboard`设置为«nil»的情况下不再适用于剪贴板.另一方面,我猜这可能是一个错误修正,因为文档清楚地说,该函数也可以粘贴最后被杀死的文本.但实际上我现在看不到禁用剪贴板污染的方法,但却能够使用它的内容. (2认同)

eve*_*_jr 26

如果您使用的是内置的Emacs,那么您将在终端中运行Emacs."剪贴板"是您的窗口系统的功能.终端模式(-nw)中的Emacs 不访问任何特定于窗口系统的API.对于设计用于终端的大多数命令行工具都是如此.

您需要像其他人建议的那样升级您的Emacs,并以图形模式运行.在Mac OS X上使用Emacs 24,您需要的行为是默认行为.

如果你想在终端中这样做,那么这个黑客将使剪贴板工作.

(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) 
Run Code Online (Sandbox Code Playgroud)

  • 提供的链接似乎有问题..我到了一个没有内容的网站. (2认同)

qui*_*oju 18

我通常使用Shift + insert粘贴到emacs缓冲区,但我不知道你的键盘是否有这些键.

  • 是的,它没有.虽然我是初学者,但我很惊讶地发现这很难做到. (5认同)