这可能非常简单,但我正在使用Emacs(22.1.1)并且我无法使用 Control - Y 。
答案 0 :(得分:40)
尝试使用M-x clipboard-yank
命令。如果要将文本复制到剪贴板,则必须M-x clipboard-kill-region
。
这适用于Linux和Windows,我猜在Mac上也是如此。
答案 1 :(得分:25)
如果您正在使用内置的Emacs,那么您将在终端中运行Emacs。 “剪贴板”是您的窗口系统的功能。终端模式(-nw
)中的Emacs不访问任何特定于窗口系统的API。大多数命令行工具都适用于终端。
您需要像其他人建议的那样升级您的Emacs,并以图形方式运行 模式。在Mac OS X上使用Emacs 24,您需要的行为是默认行为。
如果您想在终端中执行此操作,则this hack将使剪贴板正常工作。
(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)
答案 2 :(得分:18)
我通常使用Shift + insert粘贴到emacs缓冲区中,但我不知道你的键盘是否有这些键。
答案 3 :(得分:1)
请参阅http://blog.binchen.org/?p=589
这是代码:
(require 'simpleclip)
(defun copy-to-clipboard ()
(interactive)
(let ((thing (if (region-active-p)
(buffer-substring-no-properties (region-beginning) (region-end))
(thing-at-point 'symbol))))
(simpleclip-set-contents thing)
(message "thing => clipboard!")))
(defun paste-from-clipboard()
"Paste string clipboard"
(interactive)
(insert (simpleclip-get-contents)))
代码使用simpleclip(https://github.com/rolandwalker/simpleclip)
Simpleclip要求你在Mac / Linux / Cygwin上安装一些命令行工具。因此,即使没有图形支持的emacs也可以访问剪贴板。
此解决方案适用于任何版本的Emacs,任何操作系统。如果服务器启用X转发,则远程ssh也可以使用它,完整命令为ssh -X -C -c blowfish-cbc,arcfour name@host.com
)
答案 4 :(得分:0)
在Windows
?我M-ins
绑定到h-insert-x-selection
,我已定义如下:
(defun h-insert-x-selection () (interactive)
(insert (x-selection 'CLIPBOARD)))
(global-set-key [(meta insert)] 'h-insert-x-selection)
在XEmacs
上,它有所不同,我有
(global-set-key [(shift insert)] 'x-insert-selection)
答案 5 :(得分:0)
这很奇怪。
我使用命令-V,它每次都有效。
当您专注于终端窗口时,通过命令-V粘贴的任何内容都会成为发送到终端的单独按键。
我使用Mac OS X 10.5(Leopard)和emacs 22.1.1。
答案 6 :(得分:0)
OS suse 12.2 - emacs默认版本24.2-15.8.2(x86_64)只是忽略了ctrl-y从剪贴板粘贴 最后问题通过降级到版本23.3-15.5.1(x86_64)
解决